I spent some time trying to figure out why I was receiving:

GetProj4StringSPI: Cannot find SRID (4326) in spatial_ref_sys
From my tests. Of course
SELECT * FROM spatial_ref_sys
returned 0 rows. What did I miss? I know I did a:
CREATE EXTENSION postgis;
on both my development and test databases. Oh that's right, DatabaseCleaner.strategy = :truncation! I realized this after I went through the trouble of writing a migration to insert all of the data. To properly use DatabaseCleaner with PostGIS installed in a PostgreSQL database you'll want to:
DatabaseCleaner.strategy = :truncation, {:except => %w[spatial_ref_sys]}
If you're wondering about the proper syntax for an IF NOT EXISTS in PostgreSQL, it looks like:
# ./db/migrations/TIMESTAMP_insert_some_rows.rb  
class InsertRowsIntoSpatialRefSys < ActiveRecord::Migration  
  def up
    execute <<-SPATIAL_UP
    DO LANGUAGE plpgsql
$$
BEGIN  
IF NOT EXISTS (SELECT * FROM spatial_ref_sys) THEN  
⋮
ANALYZE spatial_ref_sys;

END IF;  
END$$;  
SPATIAL_UP  
  end

  def down
    execute <<-SPATIAL_DOWN
    DELETE FROM spatial_ref_sys
SPATIAL_DOWN  
  end
end  

I'm not 100% positive but I think the above syntax is only valid on a PostgreSQL 9.1 or later installation; I believe that in order to use plpgsql outside of a function or sproc 9.1+ is required.