新安装后postgres默认的超级用户名/密码是什么?

我刚刚在Ubuntu 9.10上安装了postgres 8.4,它从来没有要求我创build一个超级用户。 有没有默认的超级用户及其密码? 如果不是,我该如何创build一个新的?

小心通过“$ sudo passwd postgres”更改“postgres”的UNIX密码的答案不是首选,甚至可能是危险的

这是为什么:默认情况下,UNIX帐户“postgres”被locking,这意味着它不能使用密码login。 如果你使用“sudo passwd postgres”,这个账户立即解锁。 更糟糕的是,如果你把密码设置得很弱,比如“postgres”,那么你将面临很大的安全隐患。 例如,有很多机器人尝试用户名/密码组合“postgres / postgres”login到您的UNIX系统。

你应该做的是按照詹姆斯的回答:

sudo -u postgres psql postgres # \password postgres Enter new password: 

稍微解释一下。 通常有两种默认的方式loginPostgreSQL服务器:

  1. 通过作为UNIX用户运行“psql”命令(所谓的IDENT / PEERauthentication),例如: sudo -u postgres psql 。 请注意, sudo -u不能解锁UNIX用户。

  2. 通过TCP / IP连接使用PostgreSQL自己的pipe理用户名/密码(所谓的TCPauthentication)(即不是 UNIX密码)。

所以你永远不想为UNIX帐户“postgres”设置密码。 保持原样locking状态。

当然,如果将其configuration为与默认设置不同,事情可能会改变。 例如,可以将PostgreSQL密码与UNIX密码同步,只允许本地login。 这超出了这个问题的范围。

在命令行中input:

 $ sudo -u postgres psql postgres postgres=# \password postgres 

你会看到的:

 Enter new password: Enter it again: 

你通过用户postgres操纵postgres,如下所示:

 # su - postgres $ createdb mydb $ psql -s mydb # create user someuser password 'somepassword'; # GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser; 

在Windows中,执行以下操作(重要:使用Windows pipe理员帐户):

  1. 安装后,打开<PostgreSQL PATH>\data\pg_hba.conf

  2. 修改这两行,并将“md5”更改为“trust”:

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. 重新启动PostgreSQL服务(可能不是必须的)。

  4. (可选)打开命令提示符,并将代码页更改为1252:

    cmd.exe /c chcp 1252

  5. login到PostgreSQL。 非密码将需要(注意大写-U参数):

    psql -U postgres

  6. (可选,build议出于安全原因)更改postgres用户的密码:

    \password postgres

    并在pg_hba.conf中将“信任”更改回“md5”。

可能非常相关 – “我正在安装PostgreSQL,不知道postgres用户的密码” 。

如果你想访问PostgreSQL shell,你可以input:

psql -U postgres my_database

其中my_database是您的数据库名称。