linux - postgresql createuser -interactive 在 CentOS 7 中不起作用

标签 linux postgresql centos centos7 rhel

全新安装 CentOS 7 需要全新安装 PostgreSQL,并使用新用户和新角色。我正在关注 the steps described in this tutorial来实现这个目标。但是,当我键入 createuser -interactive 时,终端并未提供教程所 promise 的交互式菜单。相反,我收到以下空白提示:

[this_centos_user@localhost ~]$ sudo -i -u postgres
[sudo] password for this_centos_user:
-bash-4.2$ createuser –interactive
-bash-4.2$

需要键入哪些特定命令才能显示交互式 createuser 界面并让我提供用户名、密码等?


具体情况:

1.) 首先,我使用以下命令安装了 postgresql-server 包和“contrib”包:
sudo yum 安装 postgresql-server postgresql-contrib

2.) 接下来,我创建了一个新的 PostgreSQL 数据库集群:
sudo postgresql-setup initdb

3.) 然后,我通过键入 sudo vi/var/lib/pgsql/data/pg_hba.conf 并更改以下行来设置密码身份验证编辑 PostgreSQL 的基于主机的身份验证 (HBA) 配置包含 md5 而不是 ident:

host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5  

4.) 保存并退出 vi 后,我使用以下命令启动并启用了 PostgreSQL:

sudo systemctl start postgresql
sudo systemctl enable postgresql

5.) 接下来,我使用上面创建的 postgres 帐户登录到 PostgreSQL,并尝试使用上面 OP 顶部的代码创建用户,如下所示:

[this_centos_user@localhost ~]$ sudo -i -u postgres
[sudo] password for this_centos_user:
-bash-4.2$ createuser –interactive
-bash-4.2$

那么我该如何创建这个用户呢?

最佳答案

不是问题的直接答案,而是相关的:

如果你像我一样,在 psql 中输入了 createuser --interactive,你想知道为什么你刚刚从 postgres=#postgres-#,你误解了说明。使用 Ctrl+C 退出 psql,然后使用 \q 并以 postgres 用户身份从 shell 运行 createuser --interactive

关于linux - postgresql createuser -interactive 在 CentOS 7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43947124/

相关文章:

compilation - 在 CentOS 6.0 上编译单声道时 undefined reference

Linux/OSX/Windows - 等待进程结束

Ubuntu 18.04 中的 PostgreSQL 奇怪行为

linux - 无法通过 putty 和 winscp 连接服务器

linux - 仅播放音频的 SIP 服务器?

hibernate - Spring/JPA/Hibernate/PostgreSQL 在嵌套事务中抛出 EntityNotFoundException

amazon-ec2 - 断开和重新连接 nvme

postgresql - 为什么 Postgres 不识别我的 GRANT 语句?

sql - 将 or-filter 更改为 and-filter 用于连接表的 `column = ANY()` 比较

django - 为什么我的 mod_wsgi 模块即使存在也找不到 "libpython3.7m.so.1.0"?