I'm guessing this is a pretty basic question, but I can't figure out why:
import psycopg2
psycopg2.connect("postgresql://postgres:postgres@localhost/postgres")
Is giving the following error:
psycopg2.OperationalError: missing "=" after
"postgresql://postgres:postgres@localhost/postgres" in connection info string
Any idea? According to the docs about connection strings I believe it should work, however it only does like this:
psycopg2.connect("host=localhost user=postgres password=postgres dbname=postgres")
I'm using the latest psycopg2 version on Python2.7.3 on Ubuntu12.04
I would use the
urlparse
module to parse the url and then use the result in the connection method. This way it's possible to overcome the psycop2 problem.The connection string passed to
psycopg2.connect
is not parsed bypsycopg2
: it is passed verbatim tolibpq
. Support for connection URIs was added in PostgreSQL 9.2.