我刚安装了postgresql,并在安装过程中指定了密码x。当我尝试执行createdb并指定任何密码时,我收到以下消息:
createdb
createdb:无法连接到数据库postgres:严重:用户的密码身份验证失败
相同createuser。
createuser
我应该如何开始?我可以将自己添加为数据库用户吗?
其他答案对我来说并不完全令人满意。这是在Xubuntu 12.04.1 LTS上用于postgresql-9.1的工具。
须藤-u postgres psql template1
使用加密密码“ 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。
/etc/postgresql
sudo /etc/init.d/postgresql重新启动
(在这里您可以检查它是否适用于psql -U postgres)。
psql -U postgres
whoami
sudo createuser -U postgres -d -e -E -l -P -r -s <my_name>
<my_name>
这些选项告诉postgresql创建一个用户,该用户可以登录,创建数据库,创建新角色,是超级用户,并且将具有加密的密码。真正重要的是-P -E,因此要求您键入将被加密的密码,而-d则可以执行操作createdb。
当心密码 :它将首先询问您两次新密码(对于新用户),重复一次,然后询问一次postgres密码(在第2步中指定的密码)。
本地所有 所有 对等 md5
psql template1
请注意,如果执行mere psql,它将失败,因为它将尝试将您连接到与您同名的默认数据库(即whoami)。template1是从头开始的管理数据库。
psql
createdb <dbname>