安卓系统

如何使用psql列出Postgresql数据库和表

02★PostgreSQL入门★初来乍到数据库

02★PostgreSQL入门★初来乍到数据库

目录:

Anonim

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

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

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

列出数据库

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

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

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

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

在psql终端中,执行 \l \list meta-command列出所有数据库:

\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。 前两个是创建新数据库时使用的模板。

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

sudo -u postgres psql -c "\l"

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

SELECT datname FROM pg_database;

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

datname ----------- postgres odoo template1 template0 (4 rows)

清单表

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

例如,要连接到名为“ odoo”的数据库,请输入:

\c odoo

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

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

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数据库和表。

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

PostgreSQL