我们如何在不使用 `psql` 的命令或选项的情况下显示集群中的所有数据库? [复制]

Posted

技术标签:

【中文标题】我们如何在不使用 `psql` 的命令或选项的情况下显示集群中的所有数据库? [复制]【英文标题】:How can we show all the databases in a cluster without using `psql`'s command or option? [duplicate] 【发布时间】:2018-11-25 16:14:56 【问题描述】:

https://***.com/a/771880/156458 提供了一种通过信息模式显示数据库中定义的所有表的方法。由于信息模式是每个数据库的,我想它对于显示集群中的所有数据库没有用?

您将如何以可比较的方式显示集群中的所有数据库,即不使用psql 的命令或选项?

谢谢。

【问题讨论】:

【参考方案1】:

查询系统目录pg_database,例如:

select datname
from pg_database;

       datname       
---------------------
 template1
 template0
 postgres
 test
 db
 library_development
(6 rows)

【讨论】:

谢谢。 SQL 标准是否指定了相关的内容,如果是,您的方式是否接近 SQL 标准?它是否具有对其他 RDBMS 的一些可移植性,最多可以进行一些小的修改? 不,术语 数据库 在各种 RDBMS 中的理解不同。此外,系统目录特定于 Postgres。【参考方案2】:

要显示所有 postgres 数据库,请在控制台上执行以下命令: sudo su - postgres -c "psql -c '\l'"

【讨论】:

以上是关于我们如何在不使用 `psql` 的命令或选项的情况下显示集群中的所有数据库? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 cat -b 或 cat -n 选项的情况下打印文件内容以及行号[关闭]

退出编辑器而不退出 psql

如何在不通过 valgrind 命令选项启动 Process 的每个实例的情况下对每个实例进行 valgrind memcheck

如何在不删除的情况下暂停 azure webjob?

在 iPad 上,如何在不显示选项的情况下通过 Javascript 事件在选择元素上设置 focus()?

如何在不使用“sh”或“bash”命令的情况下运行 shell 脚本?