簡體   English   中英

NixOS錯誤:psql:致命:角色“ postgres”不存在

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM