postgresql - POSTGRES:致命:角色“用户名”不存在
问题描述
真的很难让 Postgres 建立起来。我已经用自制软件(版本 14)安装了它。并通过网站安装了 Postgres 应用程序。
当我在终端中输入命令“psql”时,会出现以下错误:
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "edac" does not exist
我的服务器在端口 5432 上运行。
任何帮助将不胜感激。
解决方案
Postgres 的标准安装peer
在pg_hba.conf
. 如果您在psql
没有参数的情况下开始,它看起来会连接与当前操作系统用户同名的数据库角色 - 在您的情况下显然是“edac”。
您可以在数据库中创建这样的角色(并向其授予所需的权限),或者使用不同的(现有)角色进行连接。在全新安装中,至少存在数据库角色“postgres”,即超级用户。
您可以使用用户名和密码登录。或者更简单,以操作系统用户“postgres”的身份连接以允许使用同名数据库角色进行对等身份验证。喜欢:
sudo -u postgres psql
然后您可能想要创建一个名为“edac”的数据库角色(没有超级用户权限):
CREATE ROLE edac;
sudo -u postgres createuser edac
看:
推荐阅读
- konvajs - 有什么方法可以在 Konva 上导出为 SVG
- python - Xlsxwriter Excel图表自定义数据标签位置
- reactjs - 如何从映射的输入框中禁用当前输入框
- node.js - 是否可以在不包装到函数/类中的情况下导出整个 Node.JS 模块?
- r - R:GGPLOT2:如何使用 stat_summary 在 ggplot2 的折线图中添加标签
- javascript - React Native:未定义不是对象(评估'props.navigation.navigate')
- .net - 反应中的跨源问题
- flutter - 将敏感数据存储在内存中是否安全
- javascript - Firestore:将时间对象转换为时间戳
- security - Solr 安全性:身份验证/授权无法识别