为PostgreSQL用户设置空白密码

oth*_*man 56 postgresql createuser

我使用postgresql命令'createuser myusername'.它始终提示我输入密码.如果我将密码留空,则会出现错误,指出没有密码.

我只想创建一个空白/没有密码的用户,我无法在mac os x下使用Postgresql 9.

我应该采取哪些步骤来创建没有密码的用户.该命令总是要求我输入密码.

nat*_*e c 61

你正在咆哮错误的树试图解决这个问题createuser.如果您想检查man页面,createuser它会告诉您如果您确实需要密码并设置--no-password,登录将失败.createuser实际上只是创建一个用户.它并不能决定用户如何有进行身份验证.

身份验证主要在处理pg_hba.conf,决定是否在登录时要求密码.我从未在OS X上运行PostgreSQL.在Linux上,我的发行版的库存看起来像这样:

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
Run Code Online (Sandbox Code Playgroud)

我会确保你有像开发访问的第一行.注意:psql如果没有--host设置选项,将尝试连接unix套接字.如果您尝试连接,将使用第二行psql --host localhost

  • 对于OS X 10.6.8,您可以在`/ Library/PostgreSQL/8.3/data/pg_hba.conf`中找到它.请注意,它由`postgres`用户拥有,因此您需要`su postgres`来编辑它. (4认同)
  • 对于Ubuntu,你可以在`/ etc/postgresql/9.0/main/pg_hba.conf`(对于PostgreSQL 9.0)找到它. (2认同)

ara*_*nid 34

不是创建没有密码的用户,而是创建一个带有密码的.pgpass文件,以便自动提供密码.所有使用libpq进行连接的应用程序都会遵守这一点,除了JDBC驱动程序和.NET驱动程序之外,几乎所有应用程序都是如此.


Мал*_*евъ 10

更改PG用户的用户密码的另一种方法(我更喜欢)是登录postgres控制台(作为postgres本地PC上的用户),并发出SQL请求:

$ sudo -u postgres psql -w

# ALTER USER postgres WITH PASSWORD '';
Run Code Online (Sandbox Code Playgroud)

  • 不适合我.错误:psql:fe_sendauth:未提供密码 (3认同)
  • 嗯,是的。我在psql中更改了密码,而不是系统用户的密码。问题是,如果我设置了一个密码,它可以使用(任何密码),但是如果我尝试将其更改为NULL,则会收到错误消息:“错误:psql:fe_sendauth:未提供密码”。 (2认同)