GNU/Linux >> Znalost Linux >  >> Linux

Postgresql 9.3 na Centos 7 s vlastním PGDATA

Musíte vytvořit vlastní postgresql.service soubor v /etc/systemd/system/ , který přepíše výchozí PGDATA proměnná prostředí. Váš soubor vlastní služby může .include výchozí soubor služby postgresql, takže stačí přidat pouze to, co chcete změnit. Upgrady tak mohou stále upravovat/vylepšovat? soubory ve výchozím souboru služby, zatímco vaše změna zůstane zachována.

Takto jsem to právě udělal v 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

Ověřte :

ps -ax | grep [p]ostgres

Aktualizace:

Spíše než ruční vytváření souboru a přidávání řádku .include můžete také použít vestavěný způsob systemd:

systemctl edit postgresql.service

Tím se otevře váš výchozí editor a změny se uloží do /etc/systemd/system/postgresql.service.d/override.conf


Myslím, že "nejvíce "způsobem CentOS 7" je zkopírovat soubor služby:

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

Poté upravte soubor /etc/systemd/system/postgresql-9.6.service :

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

Poté jej spusťte sudo systemctl start postgresql-9.6 a ověřte:

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

zkuste toto:

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

Zdá se, že skutečným problémem bylo nastavení proměnných prostředí, se kterým jsem pracoval v následujícím vláknu:Proměnné prostředí Centos 7 pro službu Postgres Problémem je proměnná PGDATA nastavená uvnitř vlastní /etc/systemd/system/postgresql-9.3.service, která by měla být vytvořen z obsahu /usr/lib/systemd/system/postgresql-9.3.service, který používá výchozí PGDATA var.


Linux
  1. Začínáme s ls

  2. Začínáme s PostgreSQL na Linuxu

  3. Firewalld se na CentOS 8 s DBusException nespustí

  1. Nahradit nový řádek nulou?

  2. Jak pracovat s CentOS Web Panel File Manager

  3. Použijte iptables s CentOS 7

  1. Oprávnění souborů v Linuxu s příkladem

  2. Upozornění s nftw

  3. Zachování oprávnění k souboru s Git