8

「postgres」としてpsqlにログインできないため、新しいpsqlユーザーの作成に問題があります。

1. sudo -u postgres psql

2. sudo -u postgres createuser img_site -P -s -e

それらはすべて、私が知らない「postgres」のパスワードを要求されます。ユーザー「postgres」の unix パスワードを変更しようとしましたが (危険であることはわかっています)、それでも「ユーザー「postgres」のパスワード認証に失敗しました」と表示されます。GUI pgAdminも試しましたが、同じエラーです。

関連しているかわかりません: シンボリックリンクを作成しました

sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

エラーをなくすために

createuser: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
4

5 に答える 5

3

確認してくださいpg_hba.conf。上部 (他のすべてのエントリの前) に次のような行が必要です。

local   all             postgres                                peer

postgresこれにより、パスワードを必要とせずに、db ユーザーによるすべてのデータベースへのローカル Unix ドメイン ソケット アクセスが可能になります。

ここで、システム ユーザーのパスワードをクリアして再定義しますpostgres(これは PostgreSQL のインストール中に自動的に作成されます)。

sudo passwd -d postrges
sudo su postgres -c passed

このユーザー アカウントの特別な点は、postgres サーバーがデータベースへの接続を許可していることです。質問はありません。

postgresここで、ローカルの Unix ドメイン ソケット接続以外の方法でログインできる db ユーザーの明示的なパスワードを定義するには、次のコマンドを実行します。

su postgres -c psql template1
psql> ALTER USER postgres WITH PASSWORD '<password>';

postgresこのコマンドを実行する前に、システム ユーザー アカウントのパスワードを求められます。正常に完了したら、シェル\qを終了するように入力します。これで、 db ユーザーのパスワードのリセットが完了します。psqlpostgres

于 2013-09-01T05:51:11.610 に答える
2

sudo切り替え先のアカウントのパスワードは必要ありません。切り替え元のアカウントのパスワードが必要です。また、管理者である (または /etc/sudoers にリストされている) 必要もあります。su一方、 では、切り替えのアカウントのパスワードが必要です。

于 2013-09-01T10:38:06.970 に答える
1

Ruby on Rails の postgres をセットアップしようとしていたところ、パスワード認証がユーザー エラーで失敗しました。サーバーが実際に稼働しているかどうかを確認します。

pg_ctl -D /usr/local/var/postgres status

あなたが取得する場合

pg_ctl: no server running

走る

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

また、psql に localhost を含める必要があります。

psql -U postgres -h localhost

于 2014-07-08T08:27:50.907 に答える