PostgreSQL DBA(148) - pgAdmin(Showscript for psql command)
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本节简单介绍了如何显示psql命令内置的SQL。我们在使用psql的时候,可以使用\d,\d+,\df,\sf等命令来查询相关信息,这些命令背后的SQL是什么呢?可以通过设置ECHO_HIDDEN o
千家信息网最后更新 2024年09月22日PostgreSQL DBA(148) - pgAdmin(Showscript for psql command)
本节简单介绍了如何显示psql命令内置的SQL。
我们在使用psql的时候,可以使用\d,\d+,\df,\sf等命令来查询相关信息,这些命令背后的SQL是什么呢?可以通过设置ECHO_HIDDEN on来查看相应的SQL。
[local:/data/run/pg12]:5120 pg12@testdb=# \set ECHO_HIDDEN on[local:/data/run/pg12]:5120 pg12@testdb=# \d********* QUERY **********SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','v','m','S','f','') AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' AND n.nspname !~ '^pg_toast' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2;************************** List of relations Schema | Name | Type | Owner --------+--------------------+-------+------- public | a | table | pg12 public | b | table | pg12 public | rel | table | pg12 public | t | table | pg12 public | t1 | table | pg12 public | t2 | table | pg12 public | t_autovacuum_1 | table | pg12 public | t_autovacuum_db1 | table | pg12 public | t_big_autovacuum_1 | table | pg12 public | t_count | table | pg12 public | t_fillfactor_100 | table | pg12 public | t_fillfactor_50 | table | pg12 public | t_fillfactor_70 | table | pg12 public | t_mvcc | table | pg12 public | t_tx | table | pg12 public | tbl | table | pg12(16 rows)[local:/data/run/pg12]:5120 pg12@testdb=# \d+ t_mvcc********* QUERY **********SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(t_mvcc)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3;*********************************** QUERY **********SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '74886';*********************************** QUERY **********SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) for 128) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '74886' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum;*********************************** QUERY **********SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '74886' ORDER BY 1;*********************************** QUERY **********SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace AS nsp, stxname, (SELECT pg_catalog.string_agg(pg_catalog.quote_ident(attname),', ') FROM pg_catalog.unnest(stxkeys) s(attnum) JOIN pg_catalog.pg_attribute a ON (stxrelid = a.attrelid AND a.attnum = s.attnum AND NOT attisdropped)) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabledFROM pg_catalog.pg_statistic_ext stat WHERE stxrelid = '74886'ORDER BY 1;*********************************** QUERY **********SELECT pubnameFROM pg_catalog.pg_publication pJOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubidWHERE pr.prrelid = '74886'UNION ALLSELECT pubnameFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('74886')ORDER BY 1;*********************************** QUERY **********SELECT c.oid::pg_catalog.regclass FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i WHERE c.oid=i.inhparent AND i.inhrelid = '74886' AND c.relkind != 'p' ORDER BY inhseqno;*********************************** QUERY **********SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relkind FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i WHERE c.oid=i.inhrelid AND i.inhparent = '74886' ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text;************************** Table "public.t_mvcc" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- id | integer | | | | plain | | Access method: heap[local:/data/run/pg12]:5120 pg12@testdb=#
命令
信息
可以通过
时候
背后
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
采集插件软件开发
北京hp服务器虚拟化系统
移动14台服务器
长宁区品质软件开发不二之选
安康第七届网络安全周活动
l2tp服务器多ip出口
中国网络安全管理报告
丰台区信息化网络技术服务怎么样
湖南专升本数据库真题
软件开发人月费
武汉壹加软件开发
数据库为什么用perl
济南采购设备管理软件开发
云数据库可以多少人同时在线
服务器挖矿活动
怎么调游戏的数据库
软件开发服务合同范本下载
最大的中医数据库
网络安全微课有奖征集速来
江西网络安全知识答题答案
数据库开发与管理技术
每个传感器的数据库
论文选题计算机与网络技术
中国上市软件开发公司排行
超星发现数据库全吗
ccrc网络安全汇报
武汉戴尔服务器高质量的选择
成都做软件开发的公司有哪些
深圳鑫诚软件开发
cs3 安装数据库已损坏