其他答案对我来说并不完全令人满意。这是在Xubuntu 12.04.1 LTS上用于postgresql-9.1的工具。
- 使用用户postgres连接到默认数据库:
须藤-u postgres psql template1
- 设置用户postgres的密码,然后退出psql(Ctrl-D):
使用加密密码“ xxxxxxx”的ALTER USER postgres;
- 编辑
pg_hba.conf
文件:
须藤vim /etc/postgresql/9.1/main/pg_hba.conf
并在与postgres有关的行上将“ peer”更改为“ md5”:
本地所有 postgres
对等md5
要知道您正在运行的Postgresql版本,请在中查找version文件夹
/etc/postgresql。另外,您可以使用Nano或其他编辑器代替VIM。
- 重新启动数据库:
sudo /etc/init.d/postgresql重新启动
(在这里您可以检查它是否适用于
psql -U postgres)。
- 创建一个与您同名的用户(要找到它,可以键入
whoami
):
sudo createuser -U postgres -d -e -E -l -P -r -s
<my_name>
这些选项告诉postgresql创建一个用户,该用户可以登录,创建数据库,创建新角色,是超级用户,并且将具有加密的密码。真正重要的是-P
-E,因此要求您键入将被加密的密码,而-d则可以执行操作
createdb。
当心密码 :它将首先询问您两次新密码(对于新用户),重复一次,然后询问一次postgres密码(在第2步中指定的密码)。
- 再次,编辑
pg_hba.conf
文件(请参阅上面的步骤3),然后在与“所有”其他用户有关的行上将“ peer”更改为“ md5”:
本地所有 所有
对等md5
- 重新启动(如步骤4中所示),并检查是否可以在不使用-U postgres的情况下登录:
psql template1
请注意,如果执行mere
psql,它将失败,因为它将尝试将您连接到与您同名的默认数据库(即
whoami)。template1是从头开始的管理数据库。
- 现在
createdb <dbname>
应该可以工作了。



