GNU/Linux >> Belajar Linux >  >> Linux

Postgresql 9.3 di Centos 7 dengan PGDATA khusus

Anda perlu membuat postgresql.service khusus file dalam /etc/systemd/system/ , yang menggantikan PGDATA default variabel lingkungan. File layanan khusus Anda dapat .include file layanan postgresql default, jadi Anda hanya perlu menambahkan apa yang ingin Anda ubah. Dengan begitu, pemutakhiran masih dapat memodifikasi/memperbaiki? hal-hal di file layanan default, sementara perubahan Anda dipertahankan.

Beginilah cara saya melakukannya di 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

Verifikasi :

ps -ax | grep [p]ostgres

Perbarui:

Daripada membuat file secara manual dan menambahkan baris .include, Anda juga dapat menggunakan cara bawaan systemd:

systemctl edit postgresql.service

Ini akan membuka editor default Anda dan menyimpan perubahan Anda ke /etc/systemd/system/postgresql.service.d/override.conf


Saya pikir "cara CentOS 7" yang paling banyak dilakukan adalah dengan menyalin file layanan:

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

Kemudian edit file /etc/systemd/system/postgresql-9.6.service :

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

Kemudian jalankan sudo systemctl start postgresql-9.6 dan verifikasi:

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

coba ini:

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

Tampaknya masalah sebenarnya adalah mengatur variabel lingkungan, yang saya kerjakan di utas berikut:Variabel lingkungan Centos 7 untuk layanan Postgres Masalahnya adalah variabel PGDATA yang diatur di dalam /etc/systemd/system/postgresql-9.3.service kustom yang seharusnya dibuat dari konten /usr/lib/systemd/system/postgresql-9.3.service yang menggunakan var PGDATA default.


Linux
  1. Firewalld gagal memulai CentOS 8 dengan DBusException

  2. Izin File di Linux dengan Contoh

  3. Siapkan host virtual di CentOS

  1. Memulai dengan ls

  2. Ganti Baris Baru Dengan Nul?

  3. Tidak dapat memulai layanan postgresql di CentOS 7

  1. Cara bekerja dengan Manajer File Panel Web CentOS

  2. Gunakan iptables dengan CentOS 7

  3. Peringatan dengan nftw