postgresql 查看有哪些表

postgresql 查看有哪些表,第1张

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下)

1、查看当前数据库中所有的模式

2、如果想查看模式中所有的对象信息,可以通过\d 模式名.* 加上通配符的方式来进行查看。

3、在查看模式中的对象时一般使用的方式都是模式名.对象名的方式。

4、在postgresql中有一个类型于linux系统中$PATH的环境变量search_path,默认情况下它的值是当前数据库值和公共模式值。

5、如果想其它模式也添加在搜索路径中可通过如下命令来进行设置。

6、设置完成后如果我们再访问tec模式下的对象,就不需要再使用模式名.对象名的方式了,直接使用对象名即可进行 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6758459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存