postgres 8.3をインストールしました。インストール中にパスワードとしてtestを入力しました...私の問題は、ローカルデータベースにアクセスしようとするたびに...パスワードを入力するたびに...データベース接続に失敗したと言う.. .i コマンド ラインでパスワードを変更しようとしましたが、機能しません...構成ファイルを変更しようとしても...機能しません...データベースを機能させる方法はありますか? お返事をありがとうございます...
2 に答える
Postgres はデフォルトでローカル接続に ident 認証を使用するように設定されているため、パスワードを使用して postgres に接続できないことがよくあります。postgres システム アカウントに切り替えて、そのユーザー名で接続してみてください。パスワードなしでログインすると、ident 用に構成されています。pg_hba.conf で認証方法を確認することもできます。
ローカル接続にパスワードを使用するように切り替えたい場合は、pg_hba.conf の設定を変更できます。ファイルの下部に、次のようなセクションがあります。
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database
# super user can access the database using some other method.
# Noninteractive
# access to all databases is required during automatic maintenance
# (autovacuum, daily cronjob, replication, and similar tasks).
#
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5 #ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
2 番目の「local」行で、ident sameuser の代わりに md5 認証を使用するように設定を変更したことがわかります。これにより、正しいパスワードを使用して、システム アカウントから任意のデータベース ユーザーとしてログインできます。同じ変更を加えて postgres を再起動すると、問題が解決する可能性があります。
最初の「ローカル」行を変更しないように注意してください。postgres ユーザーはスーパー ユーザーであり、その認証メカニズムを変更すると、アクセスできなくなる可能性があります。
pg_hba.conf の編集に関するコメントに加えて、このスレッドのように自分用のパスワードも設定する必要がありました。
http://ubuntuforums.org/showthread.php?t=388632
使用して
ALTER USER postgres WITH ENCRYPTED PASSWORD 'yourhardtoguesspassword';