一尘不染

第一次如何配置postgresql?

linux

我刚安装了postgresql,并在安装过程中指定了密码x。当我尝试执行createdb并指定任何密码时,我收到以下消息:

createdb:无法连接到数据库postgres:严重:用户的密码身份验证失败

相同createuser

我应该如何开始?我可以将自己添加为数据库用户吗?


阅读 549

收藏
2020-06-02

共1个答案

一尘不染

其他答案对我来说并不完全令人满意。这是在Xubuntu 12.04.1 LTS上用于postgresql-9.1的工具。

  1. 使用用户postgres连接到默认数据库:

须藤-u postgres psql template1

  1. 设置用户postgres的密码,然后退出psql(Ctrl-D):

使用加密密码“ xxxxxxx”的ALTER USER postgres;

  1. 编辑pg_hba.conf文件:

须藤vim /etc/postgresql/9.1/main/pg_hba.conf

并在与postgres有关的行上将“ peer”更改为“ md5”:

本地所有 postgres 对等 md5

要知道您正在运行的Postgresql版本,请在中查找version文件夹/etc/postgresql。另外,您可以使用Nano或其他编辑器代替VIM。

  1. 重新启动数据库:

sudo /etc/init.d/postgresql重新启动

(在这里您可以检查它是否适用于psql -U postgres)。

  1. 创建一个与您同名的用户(要找到它,可以键入whoami):

sudo createuser -U postgres -d -e -E -l -P -r -s <my_name>

这些选项告诉postgresql创建一个用户,该用户可以登录,创建数据库,创建新角色,是超级用户,并且将具有加密的密码。真正重要的是-P
-E,因此要求您键入将被加密的密码,而-d则可以执行操作createdb

当心密码 :它将首先询问您两次新密码(对于新用户),重复一次,然后询问一次postgres密码(在第2步中指定的密码)。

  1. 再次,编辑pg_hba.conf文件(请参阅上面的步骤3),然后在与“所有”其他用户有关的行上将“ peer”更改为“ md5”:

本地所有 所有 对等 md5

  1. 重新启动(如步骤4中所示),并检查是否可以在不使用-U postgres的情况下登录:

psql template1

请注意,如果执行mere
psql,它将失败,因为它将尝试将您连接到与您同名的默认数据库(即whoami)。template1是从头开始的管理数据库。

  1. 现在createdb <dbname>应该可以工作了。
2020-06-02