Yapılandırma değiştikten sonra PostgreSQL'i yeniden yükleme


16

Pg_hba.conf dosyasında bazı değişiklikler yaptım ve bunların etkili olmasını istiyorum. İnsanların PostgreSQL'e yeniden yüklemelerini söyleyebileceğimi söyledikleri birkaç yer buldum, ancak listelenen birkaç farklı teknik var ve bunların hiçbiri henüz benim için çalışmıyor.

Bulduğum en güvenilir referans pg_ctl komutu içindir, ancak PGDATA klasörümün nerede olduğundan emin değilim. Bakmaya devam edeceğim.

Ubuntu 8.10 üzerinde PostgreSQL 8.3 kullanıyorum.

Yanıtlar:


15

Pg'ye bağlanıp komut vererek PGDATA'nızın nerede olduğunu kontrol edebilirsiniz:

show data_directory;

Ubuntu'da, genellikle /var/lib/postgresql/8.3/main/.

Sen de yapabilirsin: /etc/init.d/postgresql-8.3 reload


17

Soruyu soran orijinal kişi, Ubuntu 8.10'u birçok kişi çalıştırdığını ima etse de, Ubuntu'nun sonraki sürümlerini kullanmak da burada yanabilir. Ve bu aslında 8.10 ile de işe yarayabilir. Bilmiyorum, denemek için herhangi bir 8.10 kurulumum yok ..

Tamam, noktaya kadar keselim. Yani hizmetleri kontrol etmenin havalı "yeni" yolu servicekomutu kullanmaktır . Böylece yapılandırmaları aşağıdaki komutla yeniden yükleyebilirsiniz:

service postgresql-8.3 reload

doğal olarak uygun haklara sahip olmanız gerekir, bu nedenle komutun buna benzer sudoveya bunun su -c rootgibi bir şeyle başlaması gerekir :

sudo service postgresql-8.3 reload
veya
su -c root 'service postgresql-8.3 reload'

PS Ubuntu belgelerinde , bu yeni yönteme ilişkin bir şeyin 6.10 sürümü ile orada yapıldığı, ancak doğru bir şekilde anladıysam 9.10'a kadar daha genel kullanıma alınmamış olduğu ileri sürülmektedir .


Son iki yılda yeni sürüme geçtim, bu yüzden bunu deneyeceğim. Beni serin tuttuğun için teşekkürler.
Don Kirkby

Bu kullanım genellikle daha iyidir su -sadece yerinesu
x yuri

5

Seçenek 1: Komut satırı kabuğundan

su - postgres
/usr/bin/pg_ctl reload

Seçenek 2: SQL Kullanımı

SELECT pg_reload_conf();

Bu seçeneklerden herhangi birinin kullanılması, veritabanında etkin sorguları veya bağlantıları kesintiye uğratmaz, böylece bu değişiklikleri gözle görülür biçimde uygular.


3

Bu hile yapacak:

kill -HUP $(head -1 $PGDATA/postmaster.pid)

2

Sunucuyu yeniden başlatmak ve postgreSQL'e bir sinyal göndermek istemiyorsanız command yazın:
pg_ctl reload


1

Sonunda bu makaleden benim için çalışan bir teknik buldum . Komut:

sudo invoke-rc.d postgresql-8.3 reload

Önerilen tekniğin ne olduğu hakkında hala geri bildirim almaktan memnuniyet duyarım.


1
Paketlenmiş PostgreSQL kullanıyorsanız, paket komut dosyasının kullanılması - bu örneğin Ubuntu için olduğu gibi - önerilen teknik olacaktır. Kaynaktan oluşturduysanız pg_ctl kullanın.
Magnus Hagander

1

Aşağıdakiler sizin için yapmalıdır:

sudo /etc/init.d/postgresql-8.3 reload

0

Bir satırda:

su -c "pg_ctl reload" - postgres

-1

ls /etc/init.d/ Postgresql ne görüyor?

sudo /etc/init.d/postgresql yeniden yükle

/etc/init.d/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.