简体   繁体   中英

how to connect to postgresql with python

I am trying to create a postgresql database via sqlalchemy in pycharm (running python 3.6) but have trouble connecting / creating the database.

I initially started with sqlalchemy tutorial:

from sqlalchemy import create_table


engine =create_engine("postgresql+psycopg2://scott:tiger@localhost/test")
connection = engine.connect()
connection.close()

But it print's the error: could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

How should I be opening up the port, or pointing it to the localhost?

Is there any specific thing that I need to do to create the database before i run create_engine ?

I've also been searching online and found that perhaps I should be using psycopg2 to create the database, but I don't understand how this is to be done.

What I would like is to create a postgresql database on my desktop, in a specific folder.

Assuming you have the psycopg2 connector installed, then all you need to specify in the the connection string is postgresql , so your connection string would be something like

postgresql://tim:xyzzy@somehost/somedb

By default, PostgreSQL only listens on the localhost IP address, 127.0.0.1. So if the PostgreSQL server is on a different system you will need to configure the listen address in postgresql.conf

You will also need to have created the database before attempting to connect to it with SQLAlchemy. So you need to so a createdb when logged in as the PostgreSQL user.

tim@merlin:~$ sudo -i -u postgres
postgres@merlin:~$ createdb foo
postgres@merlin:~$ 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM