linux怎么看pg数据库里的表,如何使用psql列出PostgreSQL数据库和表

管理PostgreSQL数据库服务器时,您可能要执行的最常见任务之一就是列出数据库及其表。

PostgreSQL带有一个称为psql的交互式工具,它使您可以连接到服务器并对其进行查询。使用psql时,您还可以利用其元命令。这些命令对于脚本和命令行管理很有用。所有元命令都以无引号的反斜杠开头,也称为反斜杠命令。

本教程介绍了如何使用psql在PostgreSQL服务器中显示数据库和表。

列出数据库

您可以使用psql命令以任何系统用户身份连接到PostgreSQL服务器。根据服务器配置,用户可能需要输入密码才能连接到psql终端。要以您当前登录的用户身份访问psql终端,只需键入psql。

安装PostgreSQL软件包后,将创建一个名为“ postgres”的管理用户。默认情况下,该用户无需密码即可连接到本地PostgreSQL服务器。

要以“ postgres”用户身份访问psql终端,请运行:sudo -u postgres psql

sudo命令允许您以其他用户身份运行命令。

在psql终端中执行\l或\list元命令以列出所有数据库:\l

输出将包括数据库数量,每个数据库的名称,其所有者,编码和访问权限:List of databases

Name | Owner | Encoding | Collate | Ctype | Access privileges

-----------+----------+----------+---------+---------+-----------------------

odoo | odoo | UTF8 | C | C.UTF-8 |

postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 |

template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +

| | | | | postgres=CTc/postgres

template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +

| | | | | postgres=CTc/postgres

(4 rows)

PostgreSQL服务器默认情况下创建了三个数据库,即template0,template1和postgres。前两个是创建新数据库时使用的模板。

如果要获取有关数据库大小的信息,请使用\l+或\list+作为默认表空间和描述。仅当当前用户可以连接时,才会显示数据库大小。

要获取所有数据库的列表而不访问psql shell,请使用-c开关,如下所示:sudo -u postgres psql -c "\l"

列出数据库的另一种方法是使用以下SQL语句:SELECT datname FROM pg_database;

与\l元命令不同,上述查询将仅显示数据库名称:datname

-----------

postgres

odoo

template1

template0

(4 rows)

列出table

要首先列出特定数据库的所有表,您需要使用\c或\connect元命令连接到该数据库。您已登录psql终端的用户必须能够连接到数据库。

例如,要连接到名为“ odoo”的数据库,您可以输入:\c odoo

切换数据库后,使用\dt元命令列出所有数据库表:

输出将包括表的数量,每个表的名称及其模式,类型和所有者:List of relations

Schema | Name | Type | Owner

--------+-----------------------------------------------------+-------+-------

public | base_import_import | table | odoo

public | base_import_mapping | table | odoo

public | base_import_tests_models_char | table | odoo

...

public | web_editor_converter_test_sub | table | odoo

public | web_tour_tour | table | odoo

public | wizard_ir_model_menu_create | table | odoo

(107 rows)

如果数据库为空,则输出将如下所示:No relations found.

要获取有关表格大小的信息,请使用\dt+。

结论

您已经学习了如何使用psql命令列出PostgreSQL数据库和表。

如有任何疑问,请随时发表评论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值