PostgreSQL: 2026年7月アーカイブ

trust 認証のままというのもよくないだろうから、postgres ユーザのパスワードを変更して scram-sha-256 認証に戻すことにする。

まず、postgres ユーザのパスワードを 'grespost' に変更(SQL Shell (psql) で接続し作業)

postgres=# ALTER ROLE postgres WITH PASSWORD 'grespost';
ALTER ROLE

次に、設定ファイルを編集。
(例)C:\Program Files\PostgreSQL\13\data\pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

## TYPE  DATABASE        USER            ADDRESS                 METHOD
#
## "local" is for Unix domain socket connections only
#local   all             all                                     trust
## IPv4 local connections:
#host    all             all             127.0.0.1/32            trust
## IPv6 local connections:
#host    all             all             ::1/128                 trust
## Allow replication connections from localhost, by a user with the
## replication privilege.
#local   replication     all                                     trust
#host    replication     all             127.0.0.1/32            trust
#host    replication     all             ::1/128                 trust


PostgreSQL を再起動する。(タスクマネージャーより)

20260717_postgres5.jpg

これで、pgAdmin でパスワード無しで postgres ユーザで DB に接続しようとすると、「fe_sendauth: no
password supplied」と怒られるようになる。

20260717_postgres6.jpg

ここで変更後の 'grespost' パスワードを入力すれば接続できる。もう面倒くさいんで Save Password にもチェックしちゃう(笑)

無事接続完了。
作業用に割り振られた PC で、いつ誰がセットアップしたのかわからない PostgreSQL 13 が動いているんだけど、当然のようにパスワードはわからない。

こういうときは定番の「強制的にログインしてしまう」方法がある。まあ、PostgreSQL 管理している人なら誰でも知ってる方法だけど、PostgreSQL の設定ファイルの認証方式を全て一旦「trust認証」に変えてしまうのである。
trust 認証は「パスワードの確認をせずに接続を許可する」認証方式(認証というのか、それ?(^^;;;)なので、これで psql でパスワードなしで PostgreSQL に接続できるようになる。

Windows だと以下の場所に設定ファイルはある。

C:\Program Files\PostgreSQL\13\data\pg_hba.conf

これの下の方に設定があるので、(本当は必要なところ(TYPE local のところ)だけ修正すればいいのだが(^^;)全部直しちゃう(笑)

# TYPE  DATABASE        USER            ADDRESS                 METHOD</div><div>#</div><div>## " local"="" is="" for="" unix="" domain="" socket="" connections="" only<="" div="">
#local   all             all                                     scram-sha-256
## IPv4 local connections:
#host    all             all             127.0.0.1/32            scram-sha-256
## IPv6 local connections:
#host    all             all             ::1/128                 scram-sha-256
## Allow replication connections from localhost, by a user with the
## replication privilege.
#local   replication     all                                     scram-sha-256
#host    replication     all             127.0.0.1/32            scram-sha-256
#host    replication     all             ::1/128                 scram-sha-256

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

みたいに修正。

Windows であれば、サービス管理ツールから postgresql-x64-13-PostgreSQL Server 13 を停止/開始で再起動すれば OK。

その後、SQL Shell (psql) を起動したら、パスワードなしで PostgreSQL に接続できる。

20260717_postgres1.jpg

GUI ツールの pgAdmin 4 の場合は、最初に pgAdmin 自体を使えるようにするマスターパスワードの入力を促されるが(Unlock Saved Passeords 画面)、適当に 'postgres' って入れてみたら突破できた(笑)

20260717_postgres2.jpg

次に DB に接続しようとすると、Connect to Server 画面で postgres ユーザのパスワードを聞いてくる。trust 認証にする前はここを突破できなかった。

20260717_postgres3.jpg

trust 認証にしても、このパスワード入力画面は開く。ただし、Password に何も入力せず「OK」ボタンを押下すれば pgAdmin 4 画面が開く。

20260717_postgres4.jpg

実は、Oracle を使うという話だった現在取り組んでいる案件が PostgreSQL 利用に変わった。
PostgreSQL をセットアップしなきゃなあと思ってたのでちょうどよかった。バージョンは古い(13。現在の最新は 18)けど、正式な開発環境を作るまで、お試しで色々プログラム組んでみるのは 13 で十分だろう。

このアーカイブについて

このページには、2026年7月以降に書かれたブログ記事のうちPostgreSQLカテゴリに属しているものが含まれています。

前のアーカイブはPostgreSQL: 2026年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら