git gist の手順を参照してください。
これを実行します:
sudo -u postgres psql
また
psql -U postgres
端末でpostgreに入る
注: Mac を使用していて、上記の両方のコマンドが失敗した場合は、以下の Mac に関するセクションにジャンプしてください。
postgres=#
走る
CREATE USER new_username;
注: new_username を、作成するユーザー (この場合は tom) に置き換えます。
postgres=# CREATE USER new_username;
CREATE ROLE
そのユーザーがDBを作成できるようにするため、ロールをスーパーユーザーに変更する必要があります
postgres=# ALTER USER new_username SUPERUSER CREATEDB;
ALTER ROLE
確認するために、すべてが成功しました。
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
new_username | Superuser, Create DB | {}
postgres | Superuser, Create role, Create DB, Replication | {}
root | Superuser, Create role, Create DB | {}
postgres=#
更新/修正 (Mac の場合):
最近、Mac で同様のエラーが発生しました。
psql: FATAL: role "postgres" does not exist
これは、ロール名がログイン (短い) 名と同じデータベース スーパーユーザーでインストールがセットアップされたためです。
ただし、一部の Linux スクリプトでは、スーパーユーザーが従来の役割名であると想定しています。postgres
これをどのように解決しましたか?
runでインストールした場合homebrew
:
/usr/local/opt/postgres/bin/createuser -s postgres
特定のバージョンの postgres を使用している場合は、次の10.5
ように実行します。
/usr/local/Cellar/postgresql/10.5/bin/createuser -s postgres
また:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s new_username
また:
/usr/local/opt/postgresql@11/bin/createuser -s postgres
postgres.app
for Mac を実行してインストールした場合:
/Applications/Postgres.app/Contents/Versions/10.5/bin/createuser -s postgres
PS: 10.5 を PostgreSQL のバージョンに置き換えてください