如何查PostgreSQL 数据库中所有的表

如何查PostgreSQL 数据库中所有的表,第1张

这个也是从 oid2name 中扒出来的:

[postgres@localhost bin]$ /oid2name -d postgres

From database "postgres":

now:

SELECT pg_catalogpg_relation_filenode(coid) as "Filenode", relname as "Table Name" FROM pg_class c LEFT JOIN pg_catalogpg_namespace n ON noid = crelnamespace LEFT JOIN pg_catalogpg_database d ON ddatname = pg_catalogcurrent_database(),pg_catalogpg_tablespace t WHERE relkind IN ('r') AND nnspname NOT IN ('pg_catalog', 'information_schema') AND nnspname !~ '^pg_toast' AND toid = CASE WHEN reltablespace <> 0 THEN reltablespace ELSE dattablespace END ORDER BY relname

Filenode Table Name

----------------------

24608 gaotab

24604 testtab

[postgres@localhost bin]$

执行结果就是这样,这里没有用我给出的 postgres 数据库名 ,而是用了 pg_catalogcurrent_database()

我把格式整理一下,并且把数据库名换成我想要的 ’postgres‘,当然,如果有其他数据库,换其他的名字就可以了。

SELECT

pg_catalogpg_relation_filenode(coid) as "Filenode",

relname as "Table Name"

FROM

pg_class c

LEFT JOIN pg_catalogpg_namespace n ON noid = crelnamespace

LEFT JOIN pg_catalogpg_database d ON ddatname = 'postgres',

pg_catalogpg_tablespace t

WHERE

relkind IN ('r')

AND nnspname NOT IN ('pg_catalog', 'information_schema')

AND nnspname !~ '^pg_toast'

AND toid = CASE WHEN reltablespace <> 0 THEN reltablespace ELSE dattablespace END

ORDER BY

relname

其实 t 是没有必要的,还可以再简化:

SELECT

pg_catalogpg_relation_filenode(coid) as "Filenode",

relname as "Table Name"

FROM

pg_class c

LEFT JOIN pg_catalogpg_namespace n ON noid = crelnamespace

LEFT JOIN pg_catalogpg_database d ON ddatname = 'postgres'

WHERE

relkind IN ('r')

AND nnspname NOT IN ('pg_catalog', 'information_schema')

AND nnspname !~ '^pg_toast'

ORDER BY

relname

备注:

(1)numeric 不指定长度,可以保留的整数位和小数位很大;

(2)numeric(6,4)表示精度(precision,所有数字位的个数)为6,标度(scale,小数点右边所有小数位的个数)为4,例如235141

备注:varchar不指定长度,可以存储最大长度(1GB)

备注:保留两位小数,超过位数采用四舍五入法进行截断

1 >

以上就是关于如何查PostgreSQL 数据库中有的表全部的内容,包括:如何查PostgreSQL 数据库中所有的表、四、PostgreSQL常用数据类型(精简)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10150522.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存