これはおそらくばかげたエラーですが、満足のいく解決策を見つけることができないようです。
db.create_all()
を実行すると、次のエラーが発生しました。
sqlalchemy.exc.OperationalError: (OperationalError) fe_sendauth: no password supplied None None
私のデータベースリンクは次のように設定されています
'postgresql://localhost/db_name'
これは私のMacとHerokuでは問題なく機能しましたが、ubuntu(digitalocean)では問題ありません。
私が間違っている可能性のあるアイデアはありますか?
接続文字列から「localhost」を削除する必要があるでしょう。
'postgresql:///db_name'
これにより、psycopg2はUnixドメインソケットを使用するようになります。デフォルトの構成では「ident」が使用されるため、スクリプトを実行するユーザーとして接続します。デフォルト設定では、「md5」はTCP接続にのみ適用されます。
URLパターンは次のとおりです。
postgresql://user:password@localhost:5432/database_name
pip install psycopg2
ユーザーは、postgresまたは作成して使用する他のユーザーである必要があります
mySqlの場合も同様です:
mysql://user:pass@localhost:3306/database_name
pip install mysql-python
Macでは、PostgreSQLはlocalhostからの接続のtrust
またはpeer
認証用に設定されています。
Ubuntuボックスでは、md5
localhostからの接続の認証。
パスワードを設定するか、認証モードを変更する必要があります。見る - pg_hba.conf
、および PostgreSQLのUbuntuガイド 。