PostgreSQL szerver futtatása Void Linux rendszeren. A (z) initdb futtatása operációs rendszer “postgres” felhasználóként:

[user@host]$ sudo -u postgres -i $ initdb -D "/var/lib/postgresql/data" 

Fogadott kimenet:

könyvtár létrehozása / var / lib / postgresql / data … ok alkönyvtárak létrehozása … ok az alapértelmezett max_kapcsolatok kiválasztása … 100 az alapértelmezett megosztott_bufferek kiválasztása … 128 MB dinamikus megosztott kiválasztása memória megvalósítás … posix konfigurációs fájlok létrehozása … rendben a bootstrap parancsfájl futtatása … ok a bootstrap utáni inicializálás végrehajtása … területi beállítás: Az LC_MESSAGES nem állítható be alapértelmezett területi beállításra: Nincs ilyen fájl vagy könyvtár rendben, az adatok lemezre szinkronizálása … ok

FIGYELEM: a “megbízható” hitelesítés engedélyezése a helyi kapcsolatoknál Ezt megváltoztathatja a pg_hba.conf szerkesztésével, vagy a következő alkalommal az -A, vagy –auth-local és –auth-host opcióval. futtatja az initdb fájlt.

Sikeres. Most már elindíthatja az adatbázis-kiszolgálót: pg_ctl -D / var / lib / postgresql / data -l logfile start

Ezután elkezdtem létrehozni a szolgáltatást, megadtam a tulajdonjogot a “postgres” -nek és elindítottam:

[user@host]$ ln -s /etc/sv/postgresql /var/service [user@host]$ sudo chown postgres: /var/service/postgresql [user@host]$ sudo sv start postgresql [user@host]$ ls -l /var/service/postgresql lrwxrwxrwx 1 postgres postgres 18 nov 2 17:05 /var/service/postgresql -> /etc/sv/postgresql 

Futás:

A

[user@host]$ sudo -u postgres psql ... 

a következő hibát jelzi:

psql: FATAL: role "postgres" does not exist 

Megpróbáltam megadni a (z) /etc/sv/postgresql – “postgres”, de nem szerencsés.

Ezek voltak az én forrásaim:

https://wiki.voidlinux.eu/PostgreSQL

PostgreSQL hiba: Végzetes: a „felhasználónév” szerep nem létezik

Nem tudom, mi legyen a következő lépés.

SZERKESZTÉS: psql: botlott: FATAL: a “postgres” szerepkör nem létezik . Nem futtatható a psql -l, mert ugyanazt a hibát kapom, függetlenül attól, hogy melyik felhasználót futtatom psql mint.

Megjegyzések

  • Mondja el, hogy a Postgres melyik verzióját próbálja telepíteni, és hol szerezte meg a csomagot. A hibaüzenet elég világos: role "postgres" does not exist: nincs " postgres ". Ez az egyetlen Postgres telepítés ugyanazon a gépen? (Tehát biztosan a megfelelő példányhoz csatlakozik?) Ha igen, akkor a kérdés a következő: melyik adatbázis szerepkört állította be a telepítés. Nem ' nem ismerem a Void Linuxot vagy az XPBS csomagkezelőt ahhoz, hogy többet mondjak. Jobban megfelelhet a superuser.SE vagy az unix.SE fájlok számára.
  • A verzió postgresql-9.6.10_1. Igen, ' ez az egyetlen telepítés a PostgreSQL-re a rendszeremen, és a szervernek csak egy példánya fut. Akkor tegyem át a kérdést? Nem tudom, hogy ' nem tudom …
  • Nem biztos, hogy van itt VOID Linux vagy XPBS szakértő … A legfontosabb az, hogy megtaláljuk a A initdb által létrehozott Postgres szerepkör, majd csatlakozzon az azonos nevű operációs rendszer felhasználóhoz, hogy a " trust " hitelesítési módszer. Nyilvánvaló, hogy nem " postgres " (ami épeszű alapértelmezés lenne).
  • Annyit gondoltam, de ' elmaradt a szerep megtalálásától. Mint a kérdésben említettem, ' t egyáltalán nem tudok psql-t adni, tehát ' nem tudom felsorolni a meglévő szerepeket. Talán van valami releváns dolog a postgresql.conf fájlban? Valami, amit keresnem kell? ' megfogadtam a szerepet, és session_replication_role = 'origin' -et kaptam. Nem nagyon használom ezt.
  • :%s/XPBS/XBPS/g

Válasz

Nem teljes válasz, de fontolja meg a initdb itt található kézikönyvet: <: / p>

-U username
--username= username

Kiválasztja az adatbázis-superuser felhasználó nevét. Alapértelmezés szerint a initdb parancsot futtató tényleges felhasználó neve. Valójában nem fontos, hogy mi a superuser neve, de dönthet úgy, hogy megtartja a szokásos postgres nevet, még akkor is, ha az operációs rendszer felhasználójának neve eltér.

Jelentés …

  1. initdb futtatásakor OS-felhasználóként postgres, a kezdeti DB superuser szerepkör postgres is – a szokásos Postgres-ben. Hallottam olyan rendszerekről, amelyek hajlították ezt a szabályt …

  2. Képesnek kell lennie a postgres név --username=postgres az első superuser számára – kivéve, ha a csomagod mindezt komolyan elrontotta.

Megjegyzések

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük