我们如何在不使用 `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 选项的情况下打印文件内容以及行号[关闭]
如何在不通过 valgrind 命令选项启动 Process 的每个实例的情况下对每个实例进行 valgrind memcheck