【问题标题】:Fail to connect PostgreSQL DB from my Linux User无法从我的 Linux 用户连接 PostgreSQL 数据库
【发布时间】:2019-04-19 13:24:29
【问题描述】:

我是技术新手,请不要判断我的问题太强:)。

我安装在我的 Ubuntu 18.04 PostgreSQL 10.7 中。为了能够进入我的数据库,我需要从终端输入以下命令。 sudo -u postgres psql。 有什么缩短的方法可以让我从我的 Ubuntu 用户帐户连接它。例如。如果我输入 psql 它将打开数据库环境,我可以在其中输入 PostgreSQL 命令。

谢谢。

【问题讨论】:

  • psql -U postgres?

标签: postgresql ubuntu terminal


【解决方案1】:

只需在终端中执行此命令:

alias psql='sudo -u postgres psql'

所以下次你输入psql并执行,你将进入数据库环境。

【讨论】:

    【解决方案2】:

    我看到两个选项:

    1) Create alias 用于此命令 sudo -u postgres psql

    2) 转到 psql 并为其创建新的超级用户和数据库:

    CREATE ROLE username SUPERUSER;
    ALTER ROLE username WITH LOGIN;
    CREATE DATABASE username;
    

    【讨论】:

    • 要创建或管理表,不需要超级用户角色。普通用户是更好的选择。
    【解决方案3】:

    您不应该将超级用户帐户用于正常的数据库工作。就好像您在 Linux 中使用 root 一样。

    您需要创建一个具有在数据库中创建或修改表的权限的普通用户。这可以通过授予用户对数据库的所有权限(这与使该用户成为超级用户相同)或使该用户成为该数据库的所有者来完成。

    As documented in the manual psql 尝试连接到具有当前 Linux 用户名称的数据库和具有当前 Linux 用户名称的数据库用户。因此,如果您想让事情变得简单,请使用您的常规 Linux 用户名和该用户拥有的数据库创建一个用户:

    create user rob password 'somepassword';
    create database rob owner = rob;
    

    假设你的 Linux 用户是rob,那么你需要做的就是:

    psql
    

    并且您已连接到可以创建和管理表的数据库。

    根据您安装 Postgres 的方式,您可能需要调整 pg_hba.conf 以允许 rob 直接登录。


    再次提醒:请使用超级用户帐户进行正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2021-02-09
      • 2014-03-30
      • 2013-04-19
      • 2022-12-03
      相关资源
      最近更新 更多