Return nil if table has no primary key

If a table has no primary key (like the rails schema migrations table)
we should return nil instead of allow an error to be raised.  Other
database adapters return nil, and the schema migrations expects it to be
nil in the schema migrations rake tasks.

[Here is how the jdbc postgres adapter implements the same method](https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/postgresql/adapter.rb#L478)