我刚刚安装了postgresql,在安装过程中指定了密码x.

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

createuser美元也一样.

我该怎么开始?

推荐答案

其他答案我并不完全满意.以下是postgresql-9.1在Xubuntu 12.04.1 LTS上的工作原理.

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

    sudo-u postgres psql模板1

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

    使用加密密码"xxxxxxx"更改用户帖子;

  3. 编辑pg_hba.conf文件:

    sudo vim/etc/postgresql/9.1/main/pg_hba.形态

    在关于博士后的一行中,将"peer"改为"md5":

    local      all     postgres     peer md5

    要知道您运行的是哪个版本的postgresql,请在/etc/postgresql下查找版本文件夹.此外,可以使用Nano或其他编辑器代替VIM.

  4. 重新启动数据库:

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

    (在这里你可以判断它是否适用于psql -U postgres).

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

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

    这些选项告诉postgresql创建一个用户,该用户可以登录、创建数据库、创建新角色、是超级用户,并拥有加密密码.真正重要的是-P-E,这样你会被要求输入将被加密的密码,以及-d,这样你就可以做一个createdb.

    Beware of passwords:它将首先询问您两次新密码(针对新用户),重复,然后询问一次postgres密码(第2步中指定的密码).

  6. 同样,编辑pg_hba.conf文件(参见上面的步骤3),并将"所有"其他用户行中的"对等"更改为"md5":

    local      all     all     peer md5

  7. 重新启动(如第4步),并判断您是否可以不使用-U postgres登录:

    psql模板1

    请注意,如果只执行psql次,它将失败,因为它将try 将您连接到与您同名的默认数据库(即whoami).template1是从一开始就在这里的管理数据库.

  8. 现在createdb <dbname>个应该有用了.

Linux相关问答推荐

为什么当凭证助手设置为存储 SSH 远程存储库时 git pull 不使用 .git-credentials

ln命令报错target not a directory

linux 提取字符串中可能是第二常见模式的部分

使用正则表达式捕获特定字符串

如何删除文件中不需要的字符(使用 shell 脚本)

将特定列转换为行

Windows WSL 以上 Linux 中的 AF_UNIX 套接字无法绑定到 /mnt 文件:错误 95,不支持操作

在 Ansible 中使用 JSON 查询过滤数据以从 ansible_fact 中提取数据

如何在linux中将2个不同大小的图像(边框,实际图像)合并为1个

`G++ 4.9.4` 中关于 WEXITSTATUS 的奇怪行为

函数在 shell 脚本中抛出错误语法错误:} unexpected

让 Tk 看起来像一个原生 Linux 应用程序

bash 中的线程?

在 linux 上查看文件大小

从文本文件中删除奇数行或偶数行

linux根据文件名模式搜索文件

使用 C++ 和 Linux 的高分辨率计时器?

如何将文件夹中的文件列表发送到Linux中的txt文件

env和set(在 Mac OS X 或 Linux 上)有什么区别?

构建窗口管理器