postgresql - 如何使用我的默认 Windows 用户名连接到 PostgreSQL
问题描述
我已经阅读了多个帖子,他们无法连接到 postgres 默认用户。
但是,在我的情况下,我可以postgres
毫无问题地连接到用户,但我无法使用我的默认 Windows 用户登录。当我使用 SQL Shell 时,它只会让我登录到 postgres 用户。
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]: maximilian
Password for user maximilian:
psql (12.1)
WARNING: Console code page (850) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
postgres=# ----> As you can see still logged in as postgres user
我在 postgres 中设置为用户,如下所示:
postgres=# \du
List of roles
Role name | Attributes | Member of
------------+------------------------------------------------------------+-----------
maximilian | Superuser | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
如果我想使用 CMD 命令提示符psql
- 默认用户是Maximilian
并且在输入我的密码时返回错误。
C:\Users\Maximilian>psql --help
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "local socket")
-p, --port=PORT database server port (default: "5432")
-U, --username=USERNAME database user name (default: "Maximilian")
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically)
psql: error: could not connect to server: FATAL: password authentication failed for user "Maximilian"
psql
在我创建该角色/用户之前已被识别Maximilian
为默认用户maximilian
在我在 postgres 中
非常感谢任何帮助!
解决方案
大小写在 PostgreSQL 中很重要,即使 SQL 是大小写折叠,除非引用。
数据库用户是maximilian
,但操作系统用户是Maximilian
。
您可以重命名用户:
ALTER ROLE maximilian RENAME TO "Maximilian";
但是“引用”,混合大小写标识符是一个真正的坏主意。
所以我建议您将环境变量设置PGUSER
为maximilian
,那么这将是默认用户名。
顺便说一句:提示postgres
中psql
的不是用户名,而是您连接的数据库。
推荐阅读
- python - 在大熊猫数据框中替换大于 1 的值
- http-redirect - 如何在打开重定向的情况下在 Postman 测试中检索最终 URL
- python - How can I split a text from a parenthesis in a CSV, and create another column with it
- regex - 将 Unicode 字符与正则表达式匹配
- javascript - 标签为空时如何隐藏?
- mysql - SQL 索引存在,但 drop 命令告诉它不存在
- api - APIs for implementing video playback in embedded Linux (buildroot)
- android - Is there any use of Android:debuggable=true when you don't have any source code?
- c# - 如何从嵌套的 JSON 对象中检索特定属性
- laravel - Laravel - 按特定顺序获取数据……