postgresql创建表 - 在PostgreSQL中显示表格




postgresql查看表内容 table例子 (16)

您可以使用PostgreSQL的交互式终端Psql在PostgreSQL中显示表。

1.启动Psql

通常您可以运行以下命令进入psql:

psql DBNAME USERNAME

例如, psql template1 postgres

您可能遇到的一种情况是:假设您以root身份登录,并且您不记得数据库名称。 您可以通过运行以下命令首先进入Psql:

sudo -u postgres psql

在某些系统中,sudo命令不可用,您可以改为运行以下任一命令:

psql -U postgres
psql --username=postgres

2.显示表格

现在在Psql中,您可以运行如下命令:

  1. \? 列出所有的命令
  2. \l列出数据库
  3. \conninfo显示有关当前连接的信息
  4. \c [DBNAME]连接到新的数据库,例如\c template1
  5. \dt列表表
  6. \q退出psql

PostgreSQL中show tables (来自MySQL)的替代方法有哪些?


  1. 首先以postgres用户身份登录:

    sudo su - postgres

  2. 连接到所需的db: psql -d databaseName

  3. \dt将返回连接到的数据库中所有表的列表。


以超级用户身份登录:

sudo -u postgres psql

您可以通过\l命令列出所有数据库和用户,(通过\?列出其他命令)。

现在,如果你想看到其他数据库,你可以通过\c命令(比如\c template1\c postgres postgres\d\dt或者\dS来查看tables / views / etc)更改用户/数据库。


如果您在PostgreSQL中使用pgAdmin4,则可以使用它来显示数据库中的表格:

select * from information_schema.tables where table_schema='public';

\ dt(不需要) - 将列出您已经连接到的现有数据库的所有表。 还有一点需要注意:

\ d [table_name] - 将显示给定表的所有列,包括类型信息,引用和键约束。


psql命令行界面中,它显示了当前模式中的所有表:

\dt

以编程方式(当然也可以从psql界面):

SELECT * FROM pg_catalog.pg_tables;

系统表位于pg_catalog数据库中。


使用psql :\ dt

要么:

SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c
        LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
        AND c.relkind = 'r'
        AND relname NOT LIKE 'pg_%'
ORDER BY 1

首先使用以下命令连接数据库

\c database_name

您将看到此消息您现在已连接到数据库database_name并且它们运行以下命令

SELECT * FROM table_name;

在database_name和table_name中只需更新数据库和表名


\ dt会列出表格,“\ pset pager off”会在同一个窗口中显示它们,而不会切换到单独的窗口。 喜欢这个功能在dbshel​​l中死亡。


如果你只想看看你创建的表的列表,你可能只会说:

\dt

但是我们也有PATTERN ,可以帮助您自定义要显示的表格。 要显示包括pg_catalog Schema在内的所有内容,您可以添加*

\dt *

如果你这样做: \?

\ dt [S +] [PATTERN]列表表


使用-E标志运行psql将回显内部用来实现\ dt和类似命令的查询:

sudo -u postgres psql -E

postgres=# \dt       
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name", 
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
    AND n.nspname <> 'pg_catalog'
    AND n.nspname <> 'information_schema'
    AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;        
**************************

首先,您可以在Mac上使用postgre.app或使用postico连接postgres数据库。 运行以下命令:

psql -h localhost -p port_number -d database_name -U user_name -W

那么你输入你的密码,这应该可以访问你的数据库


(为了完整)

您还可以查询(SQL标准) 信息模式

SELECT
    table_schema || '.' || table_name
FROM
    information_schema.tables
WHERE
    table_type = 'BASE TABLE'
AND
    table_schema NOT IN ('pg_catalog', 'information_schema');

只使用看到一个表=> \ dt

如果想查看架构表=> \ dt +

如果你想查看特定的模式表=> \ dt schema_name。*


首先你必须像你的数据库连接

我的数据库是Ubuntu的

使用此命令进行连接

 \c ubuntu

此消息将显示

“您现在以用户”postgres“连接到数据库”ubuntu“。”

现在

运行此命令以显示其中的所有表

\d+

键入\ q +点击enter键重新启动psql类型psql db_name





postgresql