[解決済み] オペレーショナルエラーです。ERROR: pgbouncerはサーバーに接続できません。
2022-02-27 09:34:05
質問
を行おうとしています。
python manage.py syncdb
が表示され続けています。
OperationalError: ERROR: pgbouncer cannot connect to server
.pgbouncer.logには、次のような行があります。
2017-09-19 19:44:15.107 1128 LOG C-0x8a9930: mydb/myuser@unix:6432 closing because: pgbouncer cannot connect to server (age=0)
2017-09-19 19:44:15.107 1128 WARNING C-0x8a9930: mydb/myuser@unix:6432 Pooler Error: pgbouncer cannot connect to server
2017-09-19 19:44:15.107 1128 LOG S-0x8c72e0: mydb/[email protected]:5432 new connection to server
2017-09-19 19:44:15.107 1128 LOG C-0x8a9930: mydb/myuser@unix:6432 login failed: db=mydb user=myuser
2017-09-19 19:44:30.108 1128 LOG S-0x8c72e0: mydb/[email protected]:5432 closing because: connect failed (age=15)
必要な場合
ps -aef | grep pgbouncer
が得られます。
postgres 1128 1 0 18:38 ? 00:00:00 /usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini
myuser 1919 1533 0 19:45 pts/0 00:00:00 grep --color=auto pgbouncer
さらに
grep port /etc/pgbouncer/pgbouncer.ini
の結果になります。
;; dbname= host= port= user= password=
mydb = host=xx.xxx.xxx.xxx port=5432 dbname=mydb
;forcedb = host=127.0.0.1 port=300 user=baz password=foo client_encoding=UNICODE datestyle=ISO connect_query='SELECT 1'
listen_port = 6432
最後に、関連する部分である
settings.py
が含まれています。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': '/var/run/postgresql',
'PORT': '6432',
}
を回しました。
log_connections
から
on
をpostgresql.confに追加し、PGを再起動して再挑戦しました。以下が該当の行です。
2017-09-20 07:50:59 UTC LOG: database system is ready to accept connections
2017-09-20 07:50:59 UTC LOG: autovacuum launcher started
2017-09-20 07:51:00 UTC LOG: connection received: host=[local]
2017-09-20 07:51:00 UTC LOG: incomplete startup packet
2017-09-20 07:51:00 UTC LOG: connection received: host=[local]
2017-09-20 07:51:00 UTC LOG: connection authorized: user=postgres database=postgres
2017-09-20 07:51:01 UTC LOG: connection received: host=[local]
2017-09-20 07:51:01 UTC LOG: connection authorized: user=postgres database=postgres
2017-09-20 07:51:01 UTC LOG: connection received: host=[local]
2017-09-20 07:51:01 UTC LOG: connection authorized: user=postgres database=postgres
接続はできているようですが
user
と
database
の名前は
postgres
. これらの認証情報は、私が
pgbouncer.ini
.
しかし、明示的に
myuser
に記述されている接続文字列で
pgbouncer.ini
を導きます。
2017-09-20 09:37:37 UTC FATAL: Peer authentication failed for user "myuser"
2017-09-20 09:37:37 UTC DETAIL: Connection matched pg_hba.conf line 90: "local all all peer"
まったくもって困ったものだ。
どうすればいいのでしょうか?
のこの行に起因しているようです。
settings.py
:
'PORT': '6432',
コメントしたらpgbouncerが動作するようになりました。
でも、「なぜ」なのかはわからない。
私の場合、PgbouncerとPGは1つのサーバに共存しています。私は過去にそれらを異なるVM上で問題なくセットアップしました(そして、コメントする必要もありません)。
'PORT': '6432',
)
関連
-
[解決済み] PostgreSQLでDATE Differenceを計算する方法は?
-
[解決済み] postgresqlでクエリから最小値、中央値、最大値を取得するにはどうすればよいですか?
-
[解決済み】psql: FATAL: ユーザー "postgres" の Ident 認証に失敗しました。
-
[解決済み】psqlを使用して、データベースにインストールされている拡張機能を一覧表示するにはどうすればよいですか?
-
[解決済み】ubuntuでpostgresqlを徹底的にパージして再インストールする方法とは?終了
-
[解決済み】データを失うことなく、PostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法は?[クローズド]
-
[解決済み】PostgreSQLでビューのCREATE VIEWコードを見るには?
-
[解決済み】PostgreSQL ERROR:リカバリーと競合するため、ステートメントをキャンセルする
-
[解決済み] [Solved] "on delete cascade "制約を追加する方法は?
-
[解決済み】PostgreSQLでUPSERT(MERGE、INSERT ... ON DUPLICATE UPDATE)する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rails 4でPostgreSQLサーバーのデフォルトのユーザー名/パスワードは何ですか?
-
[解決済み] Postgresの最大接続数を増やすには?
-
[解決済み] Ubuntu 18.04でPostgreSQLを再起動する方法
-
[解決済み] postgresでスーパーユーザーを作成する
-
[解決済み] PostgreSQLのプロセスが "Idle in transaction "である場合、どのような意味がありますか?
-
[解決済み】PostgreSQLで読み取り専用ユーザーを作成する方法は?
-
[解決済み】最後に挿入されたIDを取得するPostgreSQL関数
-
[解決済み】データを失うことなく、PostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法は?[クローズド]
-
[解決済み】PostgreSQLでタイムゾーンがある場合とない場合のタイムスタンプの違いについて
-
[解決済み] [Solved] "on delete cascade "制約を追加する方法は?