web-dev-qa-db-ja.com

postgresqlデータディレクトリの移動

次の手順に従って、postgresqlのデータディレクトリを移動しました。

  1. Postgresを停止する
  2. cp -a source_data_directory destination_data_directory
  3. pGD​​ATA = destination_data_directoryをエクスポートします
  4. データディレクトリをpostgresql.conf内のdestination_data_directoryに変更する
  5. pg_ctl start

しかし、「pg_ctl start」を実行すると、次のエラーが発生します。誰かがエラーを理解するのを手伝ってくれませんか?.

postgres @ Server:/usr/lib/postgresql/9.1/bin$を起動するサーバーpostgresはサーバー構成ファイル "/home/destination_data_directory/postgresql.conf"にアクセスできません:そのようなファイルまたはディレクトリはありません

4
Jannat Arora

まず、ファイルが実際にその場所に存在することを確認します。 ls $PGDATAを実行します。環境変数に誤りがあると、パスが存在しないため、誤ったファイルが表示されるか、エラーが発生します。

次に、親ディレクトリ/home/destination_data_directoryおよびその下のすべてのディレクトリとファイルの所有者が、pg_ctlを開始するユーザーと一致することを確認します。どちらも使用しない場合

su postgres_user

pg_ctlを実行する前に適切なユーザーに切り替えるか、

chown -R postgres_user /home/destination_data_directory

ディレクトリとその下のすべての所有者を変更します。

0
Eelke