一、pg_class: 该系统表记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象类型都有意义。 名字 类型 引用 描述 relname name 数据类型名字。 relnamespace oid pg_namespace.oid 包含这个对象的名字空间(模式)的OI。 reltype oid pg_...
postgres=# SELECT c.relname, a.attname, ad.adnum, ad.adsrc FROM pg_class c, pg_attribute a, pg_attrdef ad WHERE relname = 'testtable2' AND ad.adrelid = c.oid AND adnum = a.attnum AND attrelid = c.oid; relname | attname | adnum | adsrc ---+---+---+--- testtable2 ...
使用information_schema模式,可以查询table_privileges和column_privileges视图来获取表和列的权限信息。 SELECT * FROM information_schema.table_privileges WHERE table_name = 'table_name'; SELECT * FROM information_schema.column_privileges WHERE table_name = 'table_name'; 2. 使用pg_class和pg_attribute系统...
postgresql 元数据 pg_class pg_tables 数据库元数据 本篇介绍数据库方面的元数据(MetaData)的有关知识。元数据在建立框架和架构方面是特别重要的知识,再下一篇我们仿造开源数据库工具类DbUtils就要使用数据库的元数据来创建自定义JDBC框架。 在我们前面使用JDBC来处理数据库的接口主要有三个,即Connection,PreparedStateme...
对于TOAST表的命名,其规则是:pg_toast_$(oid)。其中oid是该TOAST表所属表的oid值,比如数据表student在系统表pg_class中的oid是16436,则与之关联的TOAST的表名字是pg_toast_16436。 由于toast表位于pg_toast模式中,所以当要查询一个toast表时候,需要使用如下方式: ...
PGQUERY_SYNC /* Sync (at end of a pipeline) */ } PGQueryClass; PGQUERY_SIMPLE PGQUERY_SIMPLE简单查询协议就是客户端通过 Query 消息发送一个文本命令给服务端,服务端处理请求,回复查询结果。查询结果通常包括两部分内容:结构和数据。结构通过 RowDescription 消息传递,包括列名、类型 OID 和长度等;数据通过...
pg_class的主要字段包括: oid:对象标识符,这是PostgreSQL内部用来唯一标识每个表和其他对象的系统生成的OID。 relname:关系(表、索引、视图等)的名称。 relnamespace:该对象所在的模式(schema)的OID。 relkind:表示对象的类型,如'r'代表表,'i'代表索引,'S'代表序列,'v'代表视图等。
PGQUERY_SYNC用于在管道中发送同步消息,刷新到服务器,立即提交更多命令,无需等待当前管道结果。此消息在管道中结束扩展查询。PGQUERY_PREPARE用于提交Parse消息,但不等待其完成,设置queryclass为PGQUERY_PREPARE。PGQUERY_DESCRIBE用于发送描述命令,获取statement或portal的描述。返回1表示成功,0表示失败。
B. pg_proc C. pg_index D. pg_class 参考答案:D 解析: 以一条SQL的查询为例 testdb=# select count(1) from s1.t1; count --- 415 (1 row) testdb=# explain select count(1) from s1.t1; QUERY PLAN --- Aggregate (cost=16.19..16.20 rows=1 width=8) -> Seq Scan on t1 (cost=0....
A. pg_statistic B. pg_proc C. pg_index D. pg_class 参考答案:D 解析: 以一条SQL的查询为例 testdb=# select count(1) from s1.t1;count---415(1row)testdb=# explain select count(1) from s1.t1;QUERYPLAN---Aggregate(cost=16.19..16.20rows=1width=8)->Seq Scanont1(cost=0.00..15.15...