Connecting postgresql with sqlalchemy
Question:
I know this might be really a simple question but I don’t know the solution. What is happening here when I try to connect to postgresql? I am self learner in this field of database and programming so please be gentle with me.
When I try following code:
import sqlalchemy
db = sqlalchemy.create_engine('postgresql:///tutorial.db')
I get this error:
Traceback (most recent call last):
File “”, line 1, in
db = sqlalchemy.create_engine(‘postgresql:///tutorial.db’)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemyengine__init__.py”, line 327, in create_engine
return strategy.create(*args, **kwargs)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemyenginestrategies.py”, line 64, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemydialectspostgresqlpsycopg2.py”, line 289, in dbapi
psycopg = import(‘psycopg2’)
ImportError: No module named psycopg2
Do I need to install psycopg2 separately? What is the correct connection string for postgresql?
Answers:
Yes, psycopg2 are basically the Python drivers for PostgreSQL that need to be installed separately.
A list of valid connection strings can be found here, yours is a bit off (you need to the username, the password and hostname as specified in the link below):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
You would need to pip install SQLAlchemy
and pip install psycopg2
.
An example of a SQLAlchemy connection string that uses psycopg2:
from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://user:password@hostname/database_name')
You could also connect to your database using the psycopg2 driver exclusively:
import psycopg2
conn_string = "host='localhost' dbname='my_database' user='postgres' password='secret'"
conn = psycopg2.connect(conn_string)
However, using the psycopg2 driver to connect does not take advantage of SQLAlchemy.
Yes, you need to install psycopg2 separately, if you’re using linux you can simply enter the following line to the terminal: $pip install psycopg2
if this doesn’t work try using sudo: $sudo pip install psycopg2
I know this might be really a simple question but I don’t know the solution. What is happening here when I try to connect to postgresql? I am self learner in this field of database and programming so please be gentle with me.
When I try following code:
import sqlalchemy
db = sqlalchemy.create_engine('postgresql:///tutorial.db')
I get this error:
Traceback (most recent call last):
File “”, line 1, in
db = sqlalchemy.create_engine(‘postgresql:///tutorial.db’)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemyengine__init__.py”, line 327, in create_engine
return strategy.create(*args, **kwargs)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemyenginestrategies.py”, line 64, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File “C:Python27libsite-packagessqlalchemy-0.7.5dev-py2.7.eggsqlalchemydialectspostgresqlpsycopg2.py”, line 289, in dbapi
psycopg = import(‘psycopg2’)
ImportError: No module named psycopg2
Do I need to install psycopg2 separately? What is the correct connection string for postgresql?
Yes, psycopg2 are basically the Python drivers for PostgreSQL that need to be installed separately.
A list of valid connection strings can be found here, yours is a bit off (you need to the username, the password and hostname as specified in the link below):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
You would need to pip install SQLAlchemy
and pip install psycopg2
.
An example of a SQLAlchemy connection string that uses psycopg2:
from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://user:password@hostname/database_name')
You could also connect to your database using the psycopg2 driver exclusively:
import psycopg2
conn_string = "host='localhost' dbname='my_database' user='postgres' password='secret'"
conn = psycopg2.connect(conn_string)
However, using the psycopg2 driver to connect does not take advantage of SQLAlchemy.
Yes, you need to install psycopg2 separately, if you’re using linux you can simply enter the following line to the terminal: $pip install psycopg2
if this doesn’t work try using sudo: $sudo pip install psycopg2