
私の目標は、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.conf
pg_ident.conf
/mnt/data/postgresql/12/main
次に、パスをdata_directory
inに変更して/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)