在UNIX平台中安装PostgreSQL之后,PostgreSQL会在UNIX系统中创建一个名为“postgres”当用户。PostgreSQL的默认用户名和数据库也是“postgres”,
不过没有默认密码。在安装PostgreSQL之后可以以默认用户登录,也可以创建新当用户名。
以默认用户登录
Yu @Coat ~ $ sudo su postgres #切换至postgres postgres @Coat /home /Yu $ psql postgres #登入默认数据库 [ sudo ] password for Yu: psql (9.1.6 ) Type "help" for help.
以上命令也可以简化为:
Yu @Coat ~ $ sudo -u postgres psql postgres
登录之后给默认用户“postgres”设置密码
postgres= # \password postgres #给postgres用户设置密码 Enter new password: Enter it again: postgres= #
创建新用户
在UNIX shell中“createuser”命令可以创建用户。
sudo -u postgres createuser username #以“postgres”用户执行 createuser username语句
如果有以下提示
createuser: could not connect to database postgres: FATAL: role "xxx" does not exist
是因为只有UNIX系统中的postgres用户才能用createuser/dropuser创建或者删除数据库中的用户(role)。
补充:PostgreSQL有关用户名和密码的问题
今天在连接PostgreSQL 遇到这样一个问题,很是郁闷。打开Postgre连接数据库,输入密码:PWD_A,一直弹出错误窗体。
以为连接服务器的密码错误呢,但是无法进入修改密码。
第一个问题无法解决,查看是否服务没有启动.
原来服务没有启动,Postgres客户端是弹出报错信息。
就去启动服务,但是服务启动不起来,估计还是密码问题。
后“我的电脑”---“管理”---“用户”----“Postgres”,
重新设置Postgres的用户密码为:PWD_A.
问题就出在这里。电脑管理用户里的Postgres的密码是安装Postgres时设置的电脑开机密码。
所以将此处Postgres的用户密码更为当初设置开机密码即可。
折腾半天,才知Postgres密码与客户端连接服务器密码不同造成的。郁闷....原因所在本人一直认为两处的密码是一致的。真是菜啊~~~。
实践告诉你一切。。。。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好代码网。如有错误或未考虑完全的地方,望不吝赐教。