web-dev-qa-db-ja.com

システムユーザーpostgresにログインできません

Brewを使用してMacにpostgresqlをインストールしました。インストール中にpostgresqlのパスワードについて尋ねられませんでした。今、私はユーザーを作成する必要があり、できません:

Alexs-MacBook-Air:mydir alex$ su - postgres
Password:
su: Sorry

私が使用するパスワード(空を含む)が何であれ、それは間違っています。それをリセットする最も簡単な方法は何ですか?

11
アレックス

postgresという名前のsystemユーザーにアクセスしようとしています。他の回答に残したコメントによると、そのようなユーザーはいない。存在しないユーザーのパスワードを変更することはできません。

多分それは_postgresまたはpostgres_? OSXの一部のインストーラーが奇妙な名前を使用していることを私は知っています。または、インストールによって最初からシステムにpostgresユーザーが正常に作成されなかったため、パスワードを設定できない場合がありますか?

通常、このユーザーのパスワードを設定する必要はありません。あなたはただすることができます

Sudo -u postgres psql

または、postgresスーパーユーザーとして実行する必要のあるコマンド。

何のためにもsu は必要ないことに注意してください。

15
Craig Ringer

Brewを使用してMacにpostgresqlをインストールしました。インストール中にpostgresqlのパスワードについて尋ねられませんでした。

brewpostgresアカウントを必要としないか、作成しないため、これは正常です。 PostgreSQLプロセスは自分のアカウントで実行されます。これまでの他の3つの答えはこの点で間違っています。

詳細については、brew info postgresの出力を参照してください。

新しいデータベースアカウントを作成するには、独自のOSアカウントから起動できます。

/usr/local/bin/createdb someusername

またはpsql内:

/usr/local/bin/psql -d postgres

次にSQLコマンドとして:CREATE USER someusername PASSWORD 'somepassword';

Brewは通常initdb時に作成されるため、これは機能するはずです。

  • oSアカウントと同じログインのデータベーススーパーユーザーアカウント(あなたの場合はalexのようです)
  • postgresという名前のデータベース。これは、ユーザーの作成などの管理タスクの情報をログに記録するために使用できます。

フルパス/usr/local/binを使用するポイントは、システムに付属し、/usr/binまたはにある同じ名前のコマンドではなく、brewによって提供されるコマンドに到達することです。 postgres.app、macports、entreprisedbなど、他のPostgreSQLプロバイダーによってインストールされる可能性のある同じ名前のコマンド。 Mac OS Xにpostgresqlをインストールするには、5〜6の競合する互換性のない方法があります。

編集:MacOS Xデスクトップエディションの新しいバージョンには、postgresクライアント側コマンドがプリインストールされていません。これは、少なくともMacOS X 10.10(Yosemite)およびおそらく10.9以降に当てはまるようです。

34
Daniel Vérité

デフォルトのパスワードはありません。ユーザーとしてシェルを実行するにはpostgres使用:

Sudo su - postgres

またはより現代的な形式( Craigのアドバイスによる ):

Sudo -u postgres -i

完了したら、exitと入力します。もっと:
PostgreSQLエラー:致命的:ロール "ユーザー名"が存在しません

結局のところ、ユーザーはまったく作成されていません。 @ダニエルの答え を見てください。

6

何故なの:

Sudo passwd postgres

これにより、現在のアカウントのパスワードの入力を求められます。次に、postgresユーザーの新しいパスワード(2回)を入力するように求められます。

3
Tamer Shlash