developer's diary

最近はc#のエントリが多いです

Postgresqlにログインできない。パスワードを変更せずに一時的に入ることは可能か試す。

パスワードなしでPostgresqlにログインするには「pg_hba.conf」というファイルを変更して再起動をしないといけないらしい。

pg_hba.confってどこにあるんだ?って事でfind

[root@localhost]# find / -name pg_hba.conf
/var/lib/pgsql/data/pg_hba.conf

作業の流れ

  1. /var/lib/pgsql/data/pg_hba.confをパスワードなしで入れるように編集
  2. PostgreSQLを再起動
  3. PostgreSQLでログインして作業
  4. /var/lib/pgsql/data/pg_hba.confをパスワードありに戻す
  5. PostgreSQLを再起動
  6. PostgreSQLでログインしてパスワードが変わっていないかチェック

ちなみにパスワードはmd5に設定しました。

vi /var/lib/pgsql/data/pg_hba.conf
#viにて
local    all    all  md5
#↓に変更
local    all    all  trust
#:wq
/etc/init.d/postgresql restart
postgresql サービスを停止中:                               [  OK  ]
postgresql サービスを開始中:                               [  OK  ]
psql -U postgres
#SQL等で色々する。
vi /var/lib/pgsql/data/pg_hba.conf
#viにてtrustをmd5に戻す
local    all    all  md5
#:wq
/etc/init.d/postgresql restart
psql -U postgres
ユーザ postgres のパスワード:

パスワードが変わらずに問題なく動いた。rootはなんだってできるんだなぁ。