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