postgres sunucusu başlatılamıyor, günlük üretmiyor, nasıl sorun giderilir?


33

Bir ubuntu 12.04 sunucusunda 9.3 örneği için postgres başlatıyorum:

~# service postgresql start 

 * The PostgreSQL server failed to start. Please check the log output.
                                                                     [fail]

başlangıç ​​başarısız olur, ancak günlük bırakmaz, bu dosya boştur:

tail /var/log/postgresql/postgresql-9.3-main.log 

ve bu dizindeki diğer dosyalar: / var / log / postgresql /

Bu sorunu gidermek için en iyi yol nedir?


Bu yeni bir pg yükleme mi yoksa sadece yükseltme mi yaptınız? postgres kullanıcı pg yapılandırma dosyasına haklara sahip olduğunu kontrol edin ve dosyayı log
LinuxDevOps

3
Postgres komut dosyasını aynı komut dosyasıyla aynı şekilde çalıştırmayı deneyin (normalde su - postgres; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/datave size ne sağladığına bakın. Ayarlarınıza bağlı olarak kullanıcı adınızı ve yollarınızı değiştirmeniz gerekebilir.
Jenny D, Reinstate Monica

@ JennyD söylediklerine ek olarak -d 3, postgreskomuta eklerdim . Bu, günlüğe yazılmış daha kapsamlı hata ayıklama çıktısı sağlayacaktır. Hata ayıklama çıktısını 1 veya 2 olarak değiştirerek düşürebilir veya 4 veya 5 olarak değiştirerek artırabilirsiniz. Ayrıca, çıktısı which pgsqlnedir?
zymhan

PostgreSQL sunucuya nasıl ve nerden kuruldu? Sistem günlüklerinde bir şey var mı , örneğin / var / log / syslog, / var / log / messages, vb.
Craig Ringer,

6
Bu sorunun neden kapalı olduğunu anlamıyorum.
guettli

Yanıtlar:


53

Hata ayıklama etkinken el ile çalıştırmayı deneyin. Bu, ön planda çalışmasına ve hata mesajını standart hataya yazdırmasına ve aynı zamanda ayrıntı düzeyini artırmasına neden olur.

Bunun Ubuntu'da PostgreSQL 9.3 için doğru komut satırı olacağına inanıyorum, ancak bazı çok hafif ayarlamalar gerektirebilir (not: satır okunabilirlik için bölünmüştür; isterseniz bunu tek bir satıra (ters eğik çizgi olmadan) yeniden ekleyebilirsiniz):

/usr/lib/postgresql/9.3/bin/postgres -d 3 -D /var/lib/postgresql/9.3/main \
   -c config_file=/etc/postgresql/9.3/main/postgresql.conf

Başlangıç postgresikilik konumdur , sonra hata ayıklamayı etkinleştirip seviye 3'e ayarladık (ayrıntı seviyesini artırmak veya azaltmak için bunu yukarı veya aşağı ayarlayabilirsiniz). Sonra veri dizinini ve başlayacağınız config dosyasını belirleyeceğiz. Bunlar Ubuntu Server 12.04 için varsayılanlar olmalı, sanırım.

Umarım, bu sorunun nerede olduğunu belirlemek için size yeterli bilgi verecektir.


1
elle başlatmak benim için çalışıyor, ancak servisi kullanmak hala işe yaramıyor. varsayılan veri dizinini değiştirdim, servis komutunu postgres başlatmak için tekrar çalışması için güncellemem gereken bir şey var mı?
chrismarx

1
@chrismarx - serviceKomut, /etc/init.d/işlemi başlatan ve durduran komut dosyası etrafında uygun bir sarmalayıcıdır . El ile çalıştırdığınızda nelerden farklı olduğunu görmek için bu komut dosyasına bakmanız gerekir. bash -x /etc/init.d/postgresql startBir şey yapmak , araştırmanıza başlamak için iyi bir yer olabilir.
Christopher Cashell

3
teşekkürler, bu sıralama var, veri dizini ile izin sorunları vardı ve hizmet de sudo ile çalışmak zorunda gibi görünüyor
chrismarx

1
Cankurtaran. PostgreSQL'in neden başlamadığını söylemenin başka bir yolunu bulamadım, çünkü izin dizinleri nedeniyle veri dizinine erişemiyordu.
Aron Lorincz,

1
benim için config / etc / postgresql /
eugene
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.