PostgreSql 获取所有的表、视图、字段、 主键

前端之家收集整理的这篇文章主要介绍了PostgreSql 获取所有的表、视图、字段、 主键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载自http://www.cnblogs.com/lucoo/p/5712585.html


Postgresql获取数据库中所有view名视图:

SELECT@H_404_10@   viewname   FROM@H_404_10@   pg_views  
@H_404_10@WHERE@H_404_10@     schemaname =@H_404_10@'@H_404_10@public@H_404_10@'@H_404_10@  

postgresql获取数据库中所有table名 表:

SELECT@H_404_10@ tablename FROM@H_404_10@ pg_tables @H_404_10@WHERE@H_404_10@ tablename NOT@H_404_10@ LIKE@H_404_10@ pg%@H_404_10@'@H_404_10@ AND@H_404_10@ tablename NOT@H_404_10@ LIKE@H_404_10@ sql_%@H_404_10@'@H_404_10@ ORDER@H_404_10@ BY@H_404_10@ tablename;

postgresql获取某个表tablename 所有字段名称 , 类型,备注,是否为空 等

SELECT@H_404_10@ col_description(a.attrelid,a.attnum) as@H_404_10@ comment,pg_type.typname as@H_404_10@ typename,a.attname as@H_404_10@ name,a.attnotnull as@H_404_10@ notnull @H_404_10@FROM@H_404_10@ pg_class as@H_404_10@ c,pg_attribute as@H_404_10@ a inner@H_404_10@ join@H_404_10@ pg_type on@H_404_10@ pg_type.oid =@H_404_10@ a.atttypid @H_404_10@where@H_404_10@ c.relname =@H_404_10@ tablename@H_404_10@'@H_404_10@ and@H_404_10@ a.attrelid =@H_404_10@ c.oid and@H_404_10@ a.attnum>@H_404_10@0@H_404_10@

postgresql获取某个表tablename 的主键信息

@H_404_10@
select@H_404_10@ pg_attribute.attname as@H_404_10@ colname,pg_constraint.conname as@H_404_10@ pk_name from@H_404_10@ 
pg_constraint  @H_404_10@join@H_404_10@ pg_class 
@H_404_10@on@H_404_10@ pg_constraint.conrelid =@H_404_10@ pg_class.oid 
@H_404_10@join@H_404_10@ pg_attribute on@H_404_10@ pg_attribute.attrelid =@H_404_10@ pg_class.oid 
@H_404_10@and@H_404_10@  pg_attribute.attnum =@H_404_10@ pg_constraint.conkey[@H_404_10@1@H_404_10@]@H_404_10@
=@H_404_10@ pg_attribute.atttypid
@H_404_10@where@H_404_10@ pg_class.relname '@H_404_10@ 
and@H_404_10@ pg_constraint.contypep@H_404_10@'@H_404_10@
@H_404_10@

猜你在找的Postgre SQL相关文章