+-
无法从我的Linux用户连接PostgreSQL数据库

我是技术新手,请不要过于强烈地判断我的问题:)。

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

谢谢。

1
投票

只需在终端中执行以下命令:

alias psql='sudo -u postgres psql'

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

0
投票

我看到两个选择:

1)Create alias这个命令sudo -u postgres psql

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

CREATE ROLE username SUPERUSER;
ALTER ROLE username WITH LOGIN;
CREATE DATABASE username;
0
投票

您不应该使用超级用户帐户进行正常的数据库工作。就好像你在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直接登录。

再说一遍:请不要使用超级用户帐户进行正常工作。