[英]NixOS error: psql: FATAL: role “postgres” does not exist
我試圖在NixOS上使用postgresql,並且在運行$ psql -U postgres
時遇到以下錯誤
$ psql -U postgres
psql: FATAL: role "postgres" does not exist
當使用默認用戶(我的用戶名)簡單地運行$ psql
,出現類似的錯誤。 看來我的postgres安裝沒有可以用來創建其他角色或運行任何命令的角色。
如何為postgres用戶創建角色,以便發出命令?
我已經用$ nix-env -i postgres
安裝了$ nix-env -i postgres
並按照NixOS手冊進行了配置,添加
services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql94;
到我的/etc/nixos/configuration.nix
配置文件。
我還按照此示例配置中的建議添加了postgres身份驗證,因此我的/etc/nixos/configuration.nix
文件的postgresql行看起來像
# postgres
services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql94;
services.postgresql.authentication = lib.mkForce ''
# Generated file; do not edit!
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
'';
在NixOS中,當初始化數據庫集群 (使用postgres的initdb)時,數據庫超級用戶被設置為root,而不是默認的postgres 。 因此, psql -U root
應該可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.