2012-03-14 17 views
5

sudo komutunu kullanarak postgresql.conf değiştirildikten sonra başarısız oldu. başlayarak PostgreSQL sunucu benim postgresql.conf dosyasındaki "shared_buffers" parametresini değiştirmek istedim

Sorun şu ki, sudo komutunu kullandım ve köke sahipliğini verdi.

postgres -D /var/lib/pgsql/data 

Hala şu olsun kötü şaşırdı:

sudo chown postgres:postgres /var/lib/pgsql/data/postgresql.conf 

Yani komutu çalıştı:
-rw-rw-rw- 1 root root 13661 Mar 14 15:36 postgresql.conf 

Sonra postmaster'a sahipliğini geri almak için aşağıdaki komutu kullanılır hata mesajı

postgres cannot access the server configuration file "/var/lib/pgsql/data/postgresql.conf": Permission denied 
01 id altınapostgreSQL realted dizindeki "ls" komutunun sonucu: Birisi bu sorunu çözmek için bir yol olabilir bir fikir

sudo ls -l /var/lib/pgsql/data/ 
total 208 
drwx------ 19 postgres postgres 4096 Mar 13 17:23 base 
drwx------ 2 postgres postgres 4096 Mar 14 14:30 global 
drwx------ 2 postgres postgres 4096 Mar 5 14:26 pg_clog 
-rw------- 1 postgres postgres 3365 Mar 1 2006 pg_hba.conf 
-rw------- 1 postgres postgres 3182 Mar 1 2006 pg_hba.conf.old 
-rw------- 1 postgres postgres 1460 Feb 24 2006 pg_ident.conf 
drwx------ 2 postgres postgres 139264 Mar 14 00:00 pg_log 
drwx------ 4 postgres postgres 4096 Feb 24 2006 pg_multixact 
drwx------ 2 postgres postgres 4096 Mar 14 10:42 pg_subtrans 
drwx------ 2 postgres postgres 4096 Feb 24 2006 pg_tblspc 
drwx------ 2 postgres postgres 4096 Feb 24 2006 pg_twophase 
-rw------- 1 postgres postgres  4 Feb 24 2006 PG_VERSION 
drwx------ 3 postgres postgres 4096 Mar 14 14:30 pg_xlog 
-rw-rw-rw- 1 postgres postgres 13661 Mar 14 15:36 postgresql.conf 
-rw------- 1 postgres postgres  49 Jan 2 17:15 postmaster.opts 

edin.

Şimdiden teşekkürler.

Fred

cevap

7

Kontrol nasıl SELinux'un çalışır durumda:

# sestatus 

o mod günlüğünü kontrol uygulanmasında ise:

# less /var/log/audit/audit.log 

SELinux'un sonra geçici olarak sadece kadar SELinux'u devre dışı engelleme bulursanız

# setenforce 0 
: onaylamak o suçlu

Şimdi sunucuyu başlatmayı deneyin. Çalışıyorsa, o zaman bu dosya için SELinux ayarlarının nasıl geri yükleneceğini araştırın.

+0

Zaman ayırdığınız için çok teşekkürler. "Bash: sestatus: komut bulunamadı". Aklında başka bir önerin var mı? Çünkü bir öğleden sonra ipucu olmadan internette dolaştıktan sonra çıldırmaya başlıyorum. –

+0

@Fred Dosya yolu verildiğinde, RedHat türetilmiş bir işletim sistemi kullandığınızı düşünmüştüm. İşletim sistemi nedir? –

+0

FYI: RedHat Enterprise Linux WS Sürüm 4'ün altındayım –

1

Yeni bir yüklemeden hemen sonra aynı hatayı aldım.
İlk olarak, /var/lib/pgsql/data/'daki tüm dosyaların varsayılan dosya modu bitleri 600 olarak ayarlanır ve postgresql.conf666 ürününe sahiptir. Durumdaki sorun bu değil ama şeyleri oldukları gibi tutmak iyidir.
RedHat distro ile aşina değilim ama yorumlardan SELinux ile ilgili bir sorun olmadığını düşünüyorum. Benim Fedora 20 koşu günü
:

$ systemctl start postgresql.service 

sunucusu çalıştırmak gibi görünüyor.

Ve ilk kez PosgtreSQL bazı komutları yürütmek istiyorsanız - eski için kendi kullanıcı oluşturma gibi. Bu soruyu faydalı bulabilirsin: https://serverfault.com/questions/110154/whats-the-default-superuser-username-password-for-postgres-after-a-new-install