Soru PostgreSQL hizmeti initdb çalışmıyor


PostgreSQL 9.1.2 'yi fedora 16'ma, belirtilenlere benzer bir yöntemle kurdum. İşteve test ettim, yani kurulumum iyi çalışıyor.

Ama ne zaman yaparım? service postgresql initdb ya da service postgresql-9.0 initdb Ben hatayı alıyorum:

Redirecting to /bin/systemctl  initdb postgresql.service
Unknown operation initdb

Ve bunun için de pgAdmin3'ü başlatamıyorum.

Neyi kaçırıyorum?


6
2018-01-15 09:11


Menşei




Cevaplar:


Postgres'in bir yerlinin kullanılmasına dönüştürüldüğü sistemlerde systemd kullanmanız gereken birim postgresql-setup gibi şeyler için initdb. Yani ne istiyorsun:

postgresql-setup initdb

6
2018-01-15 10:37



Ve İşte nedenini açıklayan sayfadır. - James O'Gorman
Data directory not empty. <- Bu hatayı aldım ... :( Çok yanlış bir şey yapmalıyım. - c0da
Evet - zaten bir veritabanınız var ve initdb üzerine yazmayı reddediyor. Eğer değiştirmek isterseniz, eski olanı silmeniz gerekir, ancak yeniden adlandırmak istediğinizden emin olana kadar muhtemelen daha güvenlidir. - TomH


Komutu kullanarak postgresql hizmetini başlatmanız gerekir:

service postgresql start

initdb aracı, yalnızca veritabanı sunucusunun veri dizinini başlatmanız gerektiğinde kullanılmalıdır ve bu, postgresql sunucunuzu bir paket yöneticisi kullanarak kurduğunuzda otomatik olarak yapılmalıdır. yum centos veya apt-get ubuntu'da.

Sağladığınız bağlantıda belirtildiği gibi kullanabilirsiniz:

initdb -D /usr/local/pgsql/data

2
2018-01-15 09:26



Kök olarak giriş yaptım ve yaptım: service postgresql start. Çıktı oldu: Redirecting to /bin/systemctl start postgresql.service Job failed. See system logs and 'systemctl status' for details. ne zaman yaptım systemctl status, çıktı Too few arguments.. - c0da
Sistem günlüklerini hata mesajında ​​belirtildiği gibi kontrol ettiniz mi? - Khaled
Hangi günlüğü kontrol etmeliyim? Bir tonu var. :( - c0da


"Su - postgres -c ..." komutunu çalıştırın kök olarak

Cevabı burada buldum: https://bugzilla.redhat.com/show_bug.cgi?id=771496

Sorunun açıklaması: Postgresql sunucusunun ilk kurulumundan sonra   rpm, siz çalıştırılıncaya kadar geri alınamayan bir servisle kaldınız.   root olarak komutu takip etmek

su - postgres -c "initdb -D / var / lib / pgsql / veri"

Seçili bileşenin Sürüm-Sürüm numarası (varsa):

[root @ oscar] # rpm -q postgresql sunucusu   postgresql-sunucu-9.1.2-1.fc16.x86_64

Nasıl tekrarlanabilir: her zaman

backstory

Birkaç yer, bu komutu, daha önceki talimatları (yeni komut: su - postgres -c "PGDATA = / var / lib / pgsql / data initdb") takip etmektense, Fedora 16 için kullanmamı emretmişti. önümde, komutu çalıştırdığımda beni köke çevireceğini farz ettim. Bana şifre sormaya devam etti, ama hiçbir şey işe yaramadı.

Ben root passwd, kendi (sanki sudo'ing gibi), "postgres" ve "pgsql" denedim, bir şekilde bunu postgres kullanıcısı olarak yapmam gerekiyordu, hatta parola boş bırakıyordum. Köküne bakmayı denedim ve sonra komutu "su" ("postgres -c ..." ile başlayarak) olmadan çalıştırmayı denedim, ama bu da bana şöyle dedi:

"Sunucu, engellenmesi için bir ayrıcalıksız kullanıcı kimliği altında başlatılmalıdır.   olası sistem güvenliği uzlaşma. Daha fazla bilgi için belgelere bakın   sunucuyu düzgün şekilde başlatmaya ilişkin bilgiler. "

Son olarak, "su - postgres -c ..." komutunun tamamını root olarak çalıştırmayı denedim, ama yine de "su" kelimesini kullanarak çalıştım ve işe yaradı. Şimdi hizmet başlıyor. Teşekkürler Redhat hata izleme!

özet

Kök için su, sonra girin:

su - postgres -c "PGDATA = / var / lib / pgsql / veri initdb"


2
2018-02-15 17:51





Bu biraz geç cevap veriyor, ama dışarıda birisi için yararlı olabilir ... Fedora 18, postgresql 9.2 ile, benim kabuğumdaki /amr / pgsql-9.2/bin eklemek zorunda kaldım ve oradan Kaçmam gerekti:

postgresql92-setup initdb

yapılandırma dosyalarını ve /var/lib/pgsql/9.2/data adresindeki tüm dosyaları almak için. Umarım oradaki başka birine yardımcı olur!


0
2018-03-04 17:30



komut bulunamadı. 9.6 yüklü - nerkn