postgresql - psql : error: FATAL: Peer authentication failed for user "blog" in PostgreSQL for Ubuntu 20. 04 LTS

标签 postgresql ubuntu

我试图为 PostgreSQL 创建一个用户,以便将使用这个新用户创建的数据库连接到 Django 项目。所以我用这个 SQL 命令创建了一个名为“blog”的新用户:

postgres=# CREATE USER blog WITH PASSWORD '********';
CREATE ROLE
postgres=# CREATE DATABASE blog WITH OWNER 'blog' ENCODING 'UTF8';
当我尝试使用用户“blog”访问 Postgres 时,它说:
~$ sudo -u blog psql blog
sudo: unknown user: blog
sudo: unable to initialize policy plugin
我无法访问:
~$ psql blog blog
psql: error: FATAL:  Peer authentication failed for user "blog"
我不明白为什么,如果我只是创建了用户“博客”。它甚至在我的 pgAdmin4 面板上可见。
我正在开发 Ubuntu 20.04.3 LTS 和 psql (13.4 (Ubuntu 13.4-1.pgdg20.04+1))

最佳答案

数据库用户不是操作系统用户。
你试过sudo -u blog这样您就可以使用“对等”身份验证,但操作系统使用不存在。
您的选择:

  • 选择不同的身份验证方法,例如“信任”或密码身份验证
  • 创建操作系统用户blog
  • 添加 mapping允许不同的操作系统用户以 blog 身份连接具有“对等”身份验证
  • 关于postgresql - psql : error: FATAL: Peer authentication failed for user "blog" in PostgreSQL for Ubuntu 20. 04 LTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69038254/

    相关文章:

    sql - Postgresql 中具有 Hash Join 的加速查询

    Postgresql INSERT ... ON CONFLICT ... WHERE 不触发

    SQLSTATE[42601] : Syntax error: 7

    mysql - ubuntu 12.04 进入 docker "service mysql start"

    php - fatal error : Class 'MongoDate' not found when using mongodb php driver 1. 1.2 和 PHP 7.0.2 - Laravel 5.1

    linux - 在 centos 6.5 64 上安装多个 transmission-daemon 实例

    sql - PostgreSQL - "polymorphic table"对比 3 个表

    sql - 可以在没有子查询的情况下进行此查询吗?

    linux - Proftpd 完全隐藏目录

    linux - 迁移到更大的实例后,AWS ubuntu 上的设备上没有剩余空间