Postgresql data_directoryを正常に変更し、Postgresを再起動できません。

Postgresql data_directoryを正常に変更し、Postgresを再起動できません。

私の目標は、Linux Ubuntu 20.04 LTS ARM x64を実行しているコンピュータに接続されている外部SSDハードドライブにpostgresqlデータベースデータを保存することです。 postgresql.confファイルのデータディレクトリを変更した後にpostgresを再起動するのに問題があります。

psql: could not connect to server: No such file or directory

Is the server running locally and accepting connections on 
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Postgres設定に問題があると、このエラーが発生することがわかります。 /mnt/data/postgresql/12/mainディレクトリでpostgresユーザーの権限と所有権を設定してみました。不運。

私が取ったステップは次のとおりです。

マウントディレクトリの作成

sudo mkdir /mnt/data

ドライブをディレクトリにマウント

sudo mount -o defaults /dev/sda1 /mnt/data

Postgresデータを保存するマウントされたドライブにディレクトリを追加します。

sudo mkdir -p /mnt/data/postgresql/12/main

データディレクトリを/mnt/data/postgresql/12/mainに変更します。

sudo nano /etc/postgresql/12/main/postgresql.conf

postgresqlサービスの再起動

sudo systemctl restart postgresql.service

ベストアンサー1

使用する必要がありますデータベースの初期化postgresたとえば、ユーザーとして新しいデータディレクトリを作成します。

sudo mkdir -p /mnt/data/postgresql/12/main
sudo chown -R postgres:postgres /mnt/data/postgresql
sudo -u postgres /usr/lib/postgresql/12/bin/initdb -D /mnt/data/postgresql/12/main
sudo service postgresql stop

また、(使用されていない)設定ファイルが生成されpostgresql.confます。pg_hba.confpg_ident.conf/mnt/data/postgresql/12/main

次に、パスをdata_directoryinに変更して/etc/postgresql/12/main/postgresql.confサービスを開始し、期待どおりに設定されてdata_directoryいることをテストします。

sudo service postgresql start
sudo -u postgres psql -c 'show data_directory;'

次のように出力する必要があります。

        data_directory        
------------------------------
 /mnt/data/postgresql/12/main
(1 row)

おすすめ記事