GP数据库笔记—表结构查询,表占用空间查询

GP数据库中表结构查询的方法:

select d.nspname

,obj_description(d.oid)

,c.relname

,obj_description(c.oid)

,a.attnum

,a.attname

,e.data_type

,col_description(c.oid,a.attum)

,e.is_nullable

,case where e.data_type ~  ‘character‘

then e.character_maximum_length|| ‘‘

where e.data_type ~  ‘numeric‘

then (((‘(‘||e.numeric_precision)||‘,‘)||e.numeric_scale)||‘)‘

else ‘‘

end

from pg_class

left join pg_acctribute a

on a.atttypid = t.oid

join pg_namespace d

on d.oid = c.relnamespace

and d.nspname not like ‘pg_%‘

join information_schema.cloumns e

on c.relname = e.table_name::name

and a.attnum = e.ordinal_position

and e.table_schema::name = d.nspname

where c.relname !~ ‘pg|prt‘

and a.attnum > 0

order by d.nspname

,c.relname

,a.attnum

;

GP数据库占用表空间

select pg_size_pretty(pg_relation_size(‘schema_name.table_name‘));

select pg_size_pretty(pg_database_size(‘db_name‘));

时间: 2024-11-12 18:15:42

GP数据库笔记—表结构查询,表占用空间查询的相关文章

从oracle数据库导出数据(表结构,表数据,视图,存储过程,序列)

package com.ahzysoft.export; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java

PLSQL Developer来实现不同数据库的表结构以及表数据同步

PLSQL Developer菜单栏中 Tools选项下有Compare User Objects和Compare Table Data功能. 一.Tools --> compare user objects 该功能用于比较不同用户所拥有的对象(包括table.sequence.function.procedure.view等),并生成同步差异的sql脚本,用户通过执行该脚本,可保持两个用户的对象结构的同步,当然你也可以选择一个对象或者多个对象来进行比较. 操作步骤: 1. 选择样本库的对比对象

mysql导出/导入表结构以及表数据

导出: 命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚本名为db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出数据库为dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出数据库为

SQL复制表结构或表数据

需求: 软件开发过程中,一般会部署两个数据库:一个测试数据库提供给开发和测试过程使用:一个运维数据库提供上线使用.当需求变化需增加表时,会遇到数据库表结构或表数据同步的问题,这时就要复制表结构或表数据. 两种情形: 一.两个数据库部署在同一服务器上: 从数据库A复制到B: 复制表结构和数据:select * into  数据库B.dbo.Department from 数据库A.dbo.Department 只复制表结构:  select * into  数据库B.dbo.Department

mysqldump批量导出(多张表)表结构及表数据

Mysql 批量导出表结构(数据) 仅导出结构,不导出数据: 1.导出數據库為dbname的表结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname test>db.sql; 导出结构+数据:    3.导出數據库為dbname所有表结构及表數據(不加-d)    mysqldump  -h主机地址 -u用户

Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

select a.TABLE_NAME as "TableName", case when (select count(*) from user_views v where v.VIEW_NAME =a.TABLE_NAME )>0 then 'V' else 'U'end as "TableType", a.COLUMN_NAME as "ColumnName", A.COLUMN_ID as "ColumnIndex"

oracle表结构和表内容差异比对

oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 STUDENT_A 和 STUDENT_B create table STUDENT_A ( id VARCHAR2(36) not null, name VARCHAR2(100), age NUMBER, sex VARCHAR2(2) ); insert into STUDENT_A (id

【MySQL】MySQL复制表结构、表数据

平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. > 复制表结构.表数据 create table t_table_name_1 select * from t_table_name_2; > 复制表结构 如果只想复制表结构,就加个过滤数据的条件嘛(>_<) create table t_table_name_1 select * from

Mysql导出(多张表)表结构及表数据 mysqldump用法

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出數據库為dbna

Mysql复制表结构、表数据以及修改主键

mysql查看表结构命令 show columns from 表名; 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除. 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key.Extra(auto_increment)等属性.需要自己用"alter"添加,而且容易搞错.     2.只复制表结构到新表 CRE