在 Informix 中使用 sysmaster 用户连接时如何获取特定数据库的表列表?
How to get a list of tables for a specific database when connected using sysmaster user in Informix?
当与 Informix 中的 sysmaster 用户连接时,是否有查询来获取 table 的列表及其相应的最大大小和特定数据库的大小?
我只有在连接到它对应的数据库时才能得到给定table的大小,但事实并非如此。当我只与 sysmaster 用户连接时,我希望能够获得 table 最大大小和大小。是否有另一个管理员 user/database 可以访问 Informix 中所有数据库的所有 tables 信息?
试试这个:
select tn.partnum, tn.dbsname, tn.owner, tn.tabname
, pt.lockid, pt.flags, pt.flags2
, pt.rowsize, pt.ncols, pt.pagesize
, dbinfo('utc_to_datetime',pt.created) as created
, pt.nrows, pt.nptotal, pt.npused, pt.npdata
, pt.nrows * pt.rowsize as tamanho_bytes
, (pt.nptotal * pt.pagesize) /1024 as total_kb
, (pt.npused * pt.pagesize) /1024 as used_kb
, (pt.npdata * pt.pagesize) /1024 as data_kb
, ((pt.nptotal - pt.npused) * pt.pagesize) /1024 as free_kb
, pt.nextns as extents
, pt.ninserts
, pt.nupdates
, pt.ndeletes
, coalesce(pt.serialv,pt.cur_serial8,pt.cur_bigserial)::bigint serial
, pta_oldvers
, pta_newvers
from sysmaster:sysptnhdr pt
left join sysmaster:systabnames tn on tn.partnum = pt.partnum
TBLspaces 也被列出,碎片表被分开显示,您可以在其中按 lockid 列 (~partnum) 分组。
当与 Informix 中的 sysmaster 用户连接时,是否有查询来获取 table 的列表及其相应的最大大小和特定数据库的大小?
我只有在连接到它对应的数据库时才能得到给定table的大小,但事实并非如此。当我只与 sysmaster 用户连接时,我希望能够获得 table 最大大小和大小。是否有另一个管理员 user/database 可以访问 Informix 中所有数据库的所有 tables 信息?
试试这个:
select tn.partnum, tn.dbsname, tn.owner, tn.tabname
, pt.lockid, pt.flags, pt.flags2
, pt.rowsize, pt.ncols, pt.pagesize
, dbinfo('utc_to_datetime',pt.created) as created
, pt.nrows, pt.nptotal, pt.npused, pt.npdata
, pt.nrows * pt.rowsize as tamanho_bytes
, (pt.nptotal * pt.pagesize) /1024 as total_kb
, (pt.npused * pt.pagesize) /1024 as used_kb
, (pt.npdata * pt.pagesize) /1024 as data_kb
, ((pt.nptotal - pt.npused) * pt.pagesize) /1024 as free_kb
, pt.nextns as extents
, pt.ninserts
, pt.nupdates
, pt.ndeletes
, coalesce(pt.serialv,pt.cur_serial8,pt.cur_bigserial)::bigint serial
, pta_oldvers
, pta_newvers
from sysmaster:sysptnhdr pt
left join sysmaster:systabnames tn on tn.partnum = pt.partnum
TBLspaces 也被列出,碎片表被分开显示,您可以在其中按 lockid 列 (~partnum) 分组。