การเริ่มต้นเซิร์ฟเวอร์ PostgreSQL ไม่ทราบว่าผู้ใช้ postgres


8

ฉันพยายามเริ่มเซิร์ฟเวอร์ PostgreSQL (9.3) บน Ubuntu 14.04 ฉันกำลังติดตามการสอนมาตรฐานนี้: https://help.ubuntu.com/community/PostgreSQL

หลังจากอัปเดตเป็น 13.10 ถึง 14.04 ฉันได้ลบการติดตั้ง PostgreSQL เนื่องจากปัญหาต่าง ๆ ที่ฉันมีภายใน pgadmin หลังจากการอัปเดต

ใช้คำสั่งนี้หลังจากติดตั้งใหม่:

    sudo -u postgres psql postgres

ผลตอบแทน:

    sudo: unknown user: postgres
    sudo: rule-plugin could not be initialized

ฉันไม่สามารถหาวิธีแก้ปัญหานี้ได้ แต่ฉันต้องยอมรับว่าฉันใช้ postgresql ในการสร้างฐานข้อมูล GIS ของฉันเท่านั้นและฉันก็รู้สึกแย่มากตั้งแต่พบปัญหาเหล่านี้ทั้งหมด

แก้ไข:

เอาต์พุตของls -la / var / lib / postgresqlคือ "ไม่สามารถเข้าถึง / var / lib / postgresql: ไม่พบไฟล์หรือไดเรกทอรี" ( แปลจากภาษาเยอรมัน )

แก้ไข 2 (ลบแล้วและติดตั้งใหม่):

    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.       
    Statusinformationen werden eingelesen.... Fertig
    Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:
      libossp-uuid16
    Verwenden Sie »apt-get autoremove«, um es zu entfernen.
    Vorgeschlagene Pakete:
      oidentd ident-server locales-all
    Die folgenden NEUEN Pakete werden installiert:
      postgresql-9.3
    0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen noch 0 B von 3.451 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 17,5 MB Plattenplatz zusätzlich benutzt.
    Vormals nicht ausgewähltes Paket postgresql-9.3 wird gewählt.
    (Lese Datenbank ... 457272 Dateien und Verzeichnisse sind derzeit installiert.)
    Vorbereitung zum Entpacken von .../postgresql-9.3_9.3.4-1.pgdg14.04+1_amd64.deb ...
    Entpacken von postgresql-9.3 (9.3.4-1.pgdg14.04+1) ...
    Trigger für postgresql-common (154.pgdg14.04+1) werden verarbeitet ...
    Building PostgreSQL dictionaries from installed myspell/hunspell packages...
      de_at
      de_ch
      de_de
      en_au
      en_ca
      en_gb
      en_us
      en_za
    Removing obsolete dictionary files:
    postgresql-9.3 (9.3.4-1.pgdg14.04+1) wird eingerichtet ...
    Use of uninitialized value $owneruid in getpwuid at /usr/bin/pg_createcluster line 277.
    Error: clusters must not be owned by root
    Error: could not create default cluster. Please create it manually with

      pg_createcluster 9.3 main --start

    or a similar command (see 'man pg_createcluster').
    update-alternatives: /usr/share/postgresql/9.3/man/man1/postmaster.1.gz wird verwendet, um /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) im Auto-Modus bereitzustellen
     * No PostgreSQL clusters exist; see "man pg_createcluster"

1
อะไรคือผลลัพธ์ของls -la /var/lib/postgresql?
เซเลม

@salem - ไดเรกทอรีไม่มีอยู่จริง (ดูการแก้ไขด้านบน) นั่นแปลกหลังจากการติดตั้งใหม่
tobias47n9e

1
แปลก ... คุณสามารถนำมันออกอีกครั้ง ( apt-get purge postgresql-9.3) ติดตั้งและโพสต์ผลลัพธ์ได้apt-get install postgresql-9.3หรือไม่ อาจมีร่องรอยใด ๆ นอกจากนี้ยังตรวจสอบว่าคุณจะได้รับข้อมูลใด ๆ /var/log/postgresql/postgresql-9.3-main.logที่เกี่ยวข้องจาก
เซเลม

@salem - สองสามบรรทัดสุดท้ายดูไม่ดี
tobias47n9e

คำตอบ:


29

หมายเหตุ : ฉันสมมติว่าคุณไม่มีข้อมูลสำคัญอยู่ที่นั่นหรือคุณมีข้อมูลสำรองอยู่บ้าง หากไม่ใช่กรณีนี้ก่อนที่จะทำสิ่งใดคุณควรสร้างข้อมูลสำรองของคุณ!

ดูเหมือนว่าด้วยเหตุผลบางอย่างไม่ได้สร้างผู้ใช้ที่ต้องการในขณะติดตั้ง คุณสามารถลองสร้างมันด้วยตนเองและดูว่ามันจะเป็นอย่างไร:

$ sudo useradd -U -s /bin/bash postgres

หลังจากนั้นเรียกใช้คำสั่งที่aptแนะนำก่อนหน้านี้:

$ sudo pg_createcluster 9.3 main --start
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.