2012-12-09 18 views
5

ho letto la documentazione Postgres per FlaskCome eseguire Postgres localmente

e mi hanno detto che per eseguire Postgres si dovrebbe avere il seguente codice

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = postgresql://localhost/[YOUR_DB_NAME]' 
db = SQLAlchemy(app) 

Come faccio a sapere il mio nome database?

ho scritto db come il nome - ma ho ottenuto un errore

sqlalchemy.exc.OperationalError: (OperationalError) FATAL: database "[db]" 
does not exist 

Esecuzione Heroku con Flask se questo aiuta

+0

In realtà non so cosa sto facendo - questa è la mia prima volta. Ho provato a creare un database, con db createdb ma ho ricevuto il seguente errore - non potevo connettermi al database postgres: non potevo connettermi al server: nessun file o directory –

+0

Quindi non credo di averne mai creato uno perché ho ricevuto un errore . Cosa dovrei fare/come dovrei crearne uno dato che - createdb db - non funziona per me? –

+0

@camus: [Non esiste alcuna cosa come "postgre".] (Http://wiki.postgresql.org/wiki/Identity_Guidelines) –

risposta

17

Primo passo, è quello di ottenere Flask + Postgresql in esecuzione a livello locale e il primo passaggio da eseguire è che è a install postgresql on your machine. Successivamente, è necessario installare python drivers for postgresql.

Per Windows, è possibile utilizzare windows installer for postgresql e windows installer for the python drivers.

Una volta terminati i due passaggi precedenti, è necessario create a database.

Per Windows, è possibile utilizzare lo strumento pgadminIII in dotazione. Ecco un video che mostra come fare proprio questo.

Ad esempio, ecco come si crea un database chiamato the_database, e crea un utente chiamato databaseuser con una password [email protected] utilizzando lo strumento incorporato psql:

$ psql -d template1 -U postgres 
template1=# CREATE USER databaseuser WITH PASSWORD '[email protected]'; 
template1=# CREATE DATABASE the_database; 
template1=# GRANT ALL PRIVILEGES ON DATABASE the_database to databaseuser; 
template1=# \q 

Ecco come si potrebbe configurare l'applicazione con le informazioni di cui sopra:

db_conn = 'postgresql+psycopg2://databaseuser:[email protected]@localhost/the_database' 
app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = db_conn 
db = SQLAlchemy(app) 
+0

Grazie, Monsieur Khalid - Stavo avendo problemi con Postgres - finalmente l'ho fatto funzionare - all'ottavo tentativo di installarlo. –

1

Non ho esperienza con Heroku, ma dai messaggi Direi che si non hai PostgreSQL in esecuzione e non hai affatto un database. Sembra che qui abbiano alcune informazioni https://postgres.heroku.com/ :)

Ma nel tuo argomento stai chiedendo di localhost PostgreSQL ... Quindi se vuoi eseguire il tuo setup localmente, per prima cosa controlla se hai PostgreSQL installato e funzionante. Se lo fai, prova a connetterti con pgAdmin o dalla console e crea il database. Se non riesci a connetterti - controlla config per le porte, gli host PostgreSQL sono in ascolto.

In ogni caso quei messaggi che ti vedo pubblicato in domanda nei commenti, mi danno solo l'idea che non hai creato DB o nemmeno in esecuzione (o hai una configurazione errata).

Problemi correlati