オペレーティングシステムユーザーを使用する postgres
データベースを作成するには-データベースを設定していない限り 同じ名前のオペレーティングシステムユーザーに対応する必要な権限を持つロール(h9uest
あなたの場合):
sudo -u postgres -i
ここまたはここで推奨されています。
その後、再試行してください。 exit
と入力します システムユーザーpostgres
としての操作が完了した場合 。
または 単一のコマンドcreateuser
を実行します postgres
として sudo
を使用 、別の回答でdreesによって示されているように。
重要なのは、同じ名前のデータベースの役割に一致するオペレーティングシステムのユーザーを使用して、 ident
を介してアクセスを許可することです。 認証 。 postgres
データベースクラスターを初期化したデフォルトのオペレーティングシステムユーザーです。マニュアル:
データベースシステムをブートストラップするために、新しく初期化されたシステムには常に1つの事前定義された役割が含まれています。この役割は常に「スーパーユーザー」であり、デフォルトでは(
initdb
の実行時に変更されない限り) )データベースクラスターを初期化したオペレーティングシステムユーザーと同じ名前になります。通常、この役割にはpostgres
という名前が付けられます。 。より多くの役割を作成するには、最初にこの最初の役割として接続する必要があります。
非標準のユーザー名を使用したり、オペレーティングシステムのユーザーが存在しない奇妙な設定について聞いたことがあります。そこで戦略を適応させる必要があります。
マニュアルでデータベースの役割とクライアント認証についてお読みください。