如何查PostgreSQL 資料庫中所有的表

2021-09-06 06:35:34 字數 2309 閱讀 8849

這個也是從 oid2name 中扒出來的:

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

from database

"postgres":

now:

select pg_catalog.pg_relation_filenode(c.oid) as"

filenode

", relname as

"table name

" from pg_class c left join pg_catalog.pg_namespace n on n.oid = c.relnamespace left join pg_catalog.pg_database d on d.datname = pg_catalog.current_database(),pg_catalog.pg_tablespace t where relkind in ('

r') and n.nspname not in ('

pg_catalog

', '

information_schema

') and n.nspname !~ '

^pg_toast

' and t.oid = case when reltablespace <> 0

then reltablespace else dattablespace end order by relname

filenode table name

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

24608

gaotab

24604

testtab

[postgres@localhost bin]$

執行結果就是這樣,這裡沒有用我給出的  postgres 資料庫名 ,而是用了 pg_catalog.current_database()

我把格式整理一下,並且把資料庫名換成我想要的 』postgres『,當然,如果有其他資料庫,換其他的名字就可以了。

select         

pg_catalog.pg_relation_filenode(c.oid) as"

filenode",

relname as"

table name

"from

pg_class c

left join pg_catalog.pg_namespace n on n.oid =c.relnamespace

left join pg_catalog.pg_database d on d.datname = '

postgres

',

pg_catalog.pg_tablespace t

where

relkind in ('r

') and n.nspname not in (

'pg_catalog

', '

information_schema')

and n.nspname !~ '

^pg_toast

'and t.oid = case when reltablespace <> 0

then reltablespace else dattablespace end

order by

relname

其實 t 是沒有必要的,還可以再簡化:

select         

pg_catalog.pg_relation_filenode(c.oid) as"

filenode",

relname as"

table name

"from

pg_class c

left join pg_catalog.pg_namespace n on n.oid =c.relnamespace

left join pg_catalog.pg_database d on d.datname = '

postgres

'where

relkind in ('r

') and n.nspname not in (

'pg_catalog

', '

information_schema')

and n.nspname !~ '

^pg_toast

'order by

relname

如何查PostgreSQL 資料庫中所有的表

1 通過命令bai行查詢 d 資料庫 得到所有表du的名字 d 表名 得到表結構zhi 2 通過sql語句查詢 select from pg tables 得到當前db中所有dao表的資訊 這裡pg tables是系統檢視 select tablename from pg tables where ...

如何遠端連線POSTGRESQL資料庫

在伺服器上安裝了乙個postgresql的資料庫,但是,然後在本地,通過pgadmin客戶端去連線它時,總是報錯,一直連線不上。後諮詢同事,得知修改兩處配置檔案,這兩個檔案均在postgresql安裝目錄下的data資料夾中,具體修改如下 pg hba.conf 檔案,在檔案的最下方加上下面的這句話...

postgresql資料庫連線數和狀態查詢

檢視資料庫的當前連線數和狀態的幾種方式 只是能看出資料庫服務是否正在執行和啟動路徑 pg ctl status 統計當前postgresql相關程序數,在大體上可以估算資料庫的連線數,非精準,但是目前最常用的 ps ef grep postgres wc l 包含本視窗的所有資料庫連線數 selec...