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 jmenovatpostgres
.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.