PostgreSQL データベースをセットアップしたいのですがinitdb
、認証エラーが発生します。私はドキュメントに記載されているようにやっているようです。
- postgresユーザーとしてログインします
doas -u postgres -s
(AFAIK と同じですsu - postgres
) cd
に/home/user/A/B/postgres
。stat .
収量
アクセス: (0700/drwx------) Uid: ( 965/postgres) Gid: ( 965/postgres)
id
収量
uid=965(postgres) gid=965(postgres) groups=965(postgres)
- 実行
initdb -D /home/user/A/B/data
すると、次のエラーが発生します。
ディレクトリを「/home/user/A/B/postgres」に変更できませんでした: 権限が拒否されました
このデータベース システムに属するファイルは、ユーザー「postgres」が所有します。このユーザーは、サーバー プロセスも所有している必要があります。
データベース クラスタは、ロケール「C」で初期化されます。したがって、デフォルトのデータベース エンコーディングは「SQL_ASCII」に設定されています。デフォルトのテキスト検索構成は「英語」に設定されます。
データ ページのチェックサムは無効です。
initdb: エラー: ディレクトリ "/home/user/A/B/postgres/data" にアクセスできませんでした: アクセス許可が拒否されました
このエラーまたは同様のエラーは、data
事前に作成されたディレクトリの有無にかかわらず、また相対パスと絶対パスの両方を使用して発生します。パス内のフォルダー A および B は、 postgresによって所有されていません。
manjaro でpostgresql 13.4-6を使用し、認証用に doas を使用し、sudo をアンインストールしています。