1、查看当前数据库中所有的模式。
创新互联公司主营宽城网站建设的网络公司,主营网站建设方案,App定制开发,宽城h5微信平台小程序开发搭建,宽城网站营销推广欢迎宽城等地区企业咨询
2、如果想查看模式中所有的对象信息,可以通过\d 模式名.* 加上通配符的方式来进行查看。
3、在查看模式中的对象时一般使用的方式都是模式名.对象名的方式。
4、在postgresql中有一个类型于linux系统中$PATH的环境变量search_path,默认情况下它的值是当前数据库值和公共模式值。
5、如果想其它模式也添加在搜索路径中可通过如下命令来进行设置。
6、设置完成后如果我们再访问tec模式下的对象,就不需要再使用模式名.对象名的方式了,直接使用对象名即可进行操作。
1、通过命令行查询
\d 数据库 —— 得到所有表的名字
\d 表名 —— 得到表结构
2、通过SQL语句查询
"select * from pg_tables" —— 得到当前db中所有表的信息(这里pg_tables是系统视图)
"select tablename from pg_tables where schemaname='public'" —— 得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
1. 查询表名称
在psql状态下查询表名称:\dt
SQL方式查看表名称:
SELECT tablename FROM pg_tables;
SELECT viewname FROM pg_views
WHERE schemaname ='public'
PostgreSQL获取数据库中所有view名 视图
SELECT viewname FROM pg_views
WHERE schemaname ='public'
2. 查询表结构
在psql状态下查询表结构 \d tablename
SQL方式查看表结构
SELECT a.attnum,
a.attname AS field,
t.typname AS type,
a.attlen AS length,
a.atttypmod AS lengthvar,
a.attnotnull AS notnull,
b.description AS comment
FROM pg_class c,
pg_attribute a
LEFT OUTER JOIN pg_description b ON a.attrelid=b.objoid AND a.attnum = b.objsubid,
pg_type t
WHERE c.relname = 'udoc_saldiscount'
and a.attnum 0
and a.attrelid = c.oid
and a.atttypid = t.oid
ORDER BY a.attnum;
扩展资料:
PostgreSQL存储系统是由以下几个子模块所构成的:
1)页面管理子模块:对PostgreSQL缓冲区页面的组织结构进行定义以及提供页面操作的方法。
2)缓冲区管理子模块:管理PostgreSQL的缓冲区,包括本地缓冲区和共享缓冲区。
3)存储设备管理子模块:数据库记录是存储在存储介质上的,存储设备管理子模块将屏蔽不同物理存储设备(块设备,流设备)接口函数的差异,向上层缓冲区管理子模块提供统一的访问接口函数。
4)文件管理子模块:一般的操作系统对一个进程允许打开的文件数是有限制的,而PostgreSQL服务器有些时候需要打开的文件数是很多的,因此PostgreSQL文件管理子模块自身为了突破这个瓶颈,封装了文件的读写操作。
1、通过命令行查询
\d
数据库
——
得到所有表的名字
\d
表名
——
得到表结构
2、通过sql语句查询
"select
*
from
pg_tables"
——
得到当前db中所有表的信息(这里pg_tables是系统视图)
"select
tablename
from
pg_tables
where
schemaname='public'"
——
得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)