sql >> Databáze >  >> RDS >> PostgreSQL

Chyba PostgreSQL:Závažná:uživatelské jméno role neexistuje

Použijte uživatele operačního systému postgres k vytvoření databáze – pokud jste nenastavili databázi role s nezbytnými oprávněními, která odpovídá stejnojmennému uživateli vašeho operačního systému (h9uest ve vašem případě):

sudo -u postgres -i

Jak je doporučeno zde nebo zde.

Pak to zkuste znovu. Zadejte exit po dokončení operace jako systémový uživatel postgres .

Nebo spusťte jediný příkaz createuser jako postgres pomocí sudo , jak to předvedl drees v jiné odpovědi.

Jde o to použít uživatele operačního systému, který odpovídá stejnojmenné roli v databázi, aby mu byl udělen přístup přes ident autentizace . postgres je výchozí uživatel operačního systému, který inicializoval klastr databáze. Návod:

Aby bylo možné zavést databázový systém, čerstvě inicializovaný systém vždy obsahuje jednu předdefinovanou roli. Tato role je vždy „superuser“ a ve výchozím nastavení (pokud se nezmění při spuštění initdb ) bude mít stejný název jako uživatel operačního systému, který inicializoval klastr databáze. Obvykle se tato role bude jmenovat postgres .Abyste mohli vytvořit více rolí, musíte se nejprve připojit jako tato počáteční role.

Slyšel jsem o zvláštních nastaveních s nestandardními uživatelskými jmény nebo tam, kde uživatel operačního systému neexistuje. Tam byste museli přizpůsobit svou strategii.

Přečtěte si o databázových rolích a ověřování klientů v příručce.



  1. MODIFY COLUMN v oracle - Jak zkontrolovat, zda je sloupec s možnou hodnotou Null, než jej nastavíte na hodnotu Null?

  2. Získat velikost velkého objektu v dotazu PostgreSQL?

  3. Jak najít duplicitní záznamy v PostgreSQL

  4. Řetězec k datu v Oracle s milisekundami