GNU/Linux >> Linux の 問題 >  >> Linux

カスタム PGDATA を使用した Centos 7 上の Postgresql 9.3

カスタム postgresql.service を作成する必要があります /etc/systemd/system/ のファイル 、デフォルトの PGDATA をオーバーライドします 環境変数。カスタム サービス ファイルは .include できます デフォルトの postgresql サービス ファイルなので、変更したいものを追加するだけで済みます。そのように、アップグレードはまだ変更/改善できますか?あなたの変更が保存されている間、デフォルトのサービスファイルに入れます。

これは、Centos 7 で行った方法です:

cat <<END >/etc/systemd/system/postgresql.service
.include /lib/systemd/system/postgresql.service
[Service]
Environment=PGDATA=/mnt/postgres/data ## <== SET THIS TO YOUR WANTED $PGDATA
END

systemctl daemon-reload

systemctl restart postgresql.service

確認:

ps -ax | grep [p]ostgres

更新:

手動でファイルを作成して .include 行を追加する代わりに、systemd 組み込みの方法を使用することもできます:

systemctl edit postgresql.service

これにより、デフォルトのエディターが開き、変更が /etc/systemd/system/postgresql.service.d/override.conf に保存されます


それを行うための最も「CentOS 7の方法」は、サービスファイルをコピーすることだと思います:

sudo cp /usr/lib/systemd/system/postgresql-9.6.service /etc/systemd/system/postgresql-9.6.service

次に、ファイル /etc/systemd/system/postgresql-9.6.service を編集します。 :

# Location of database directory
Environment=PGDATA=/mnt/volume/var/lib/pgsql/9.6/data/

sudo systemctl start postgresql-9.6 を開始します そして検証:

# sudo ps -ax | grep postmaster
32100 ?        Ss     0:00 /usr/pgsql-9.6/bin/postmaster -D /mnt/volume/var/lib/pgsql/9.6/data/

これを試してください:

 ## Login with postgres user
 su - postgres
 export PGDATA=/your_path/data
 pg_ctl -D $PGDATA start &

本当の問題は、次のスレッドで作業した環境変数の設定にあったようです:Postgres サービスの Centos 7 環境変数問題は、カスタム /etc/systemd/system/postgresql-9.3.service 内に設定された PGDATA 変数です。デフォルトの PGDATA 変数を使用する /usr/lib/systemd/system/postgresql-9.3.service の内容から作成されます。


Linux
  1. lsの使用を開始する

  2. LinuxでPostgreSQLを使い始める

  3. Cyber​​dがCentOS8でDBusExceptionを使用して起動に失敗する

  1. CentOSWebパネルファイルマネージャーの操作方法

  2. Linuxでのファイルパーミッションと例

  3. CentOSで仮想ホストを設定する

  1. 改行をNulに置き換えますか?

  2. Git でファイルのアクセス許可を保持する

  3. CentOS 7 で postgresql サービスを開始できません