当我们在psql界面执行以“\”开头的命令时,数据库会立刻返回执行结果,而不会返回命令的实际执行过程。通过两种方式可以实现执行过程的查看:

方法一:启动psql命令时加“-E”参数

postgres@lgr-pc:~$ psql -E test
psql (9.6.3)
Type "help" for help.test=# \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' END as "Type",pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class cLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','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 relationsSchema |   Name   | Type  |  Owner
--------+----------+-------+----------public | people   | table | postgrespublic | persons  | table | postgrespublic | students | table | postgrespublic | t1       | table | postgrespublic | t11      | table | postgrespublic | t2       | table | postgrespublic | tmp12    | table | postgrespublic | tmp15    | table | postgres

这种方式只能在启动psql时使用,如果想关闭查询功能只能重新启动psql。

方法二:在psql中执行“\set ECHO_HIDDEN on|off”命令。on为开启,off为关闭,“ECHO_HIDDEN”必须为大写。

test=# \set ECHO_HIDDEN on
test=# \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' END as "Type",pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class cLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','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 relationsSchema |   Name   | Type  |  Owner
--------+----------+-------+----------public | people   | table | postgrespublic | persons  | table | postgrespublic | students | table | postgrespublic | t1       | table | postgrespublic | t11      | table | postgrespublic | t2       | table | postgrespublic | tmp12    | table | postgrespublic | tmp15    | table | postgres
(8 rows)test=# \set ECHO_HIDDEN off
test=# \dList of relationsSchema |   Name   | Type  |  Owner
--------+----------+-------+----------public | people   | table | postgrespublic | persons  | table | postgrespublic | students | table | postgrespublic | t1       | table | postgrespublic | t11      | table | postgrespublic | t2       | table | postgrespublic | tmp12    | table | postgrespublic | tmp15    | table | postgres
(8 rows)

【PostgreSQL-9.6.3】如何得到psql中命令的实际执行SQL相关推荐

  1. 帝国cms php sql,帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 例1:连接MYSQL数据库例子.(a.php) db_close(); //关闭MYSQL链接$empire=null; //注消操作类变量? ...

  2. 帝国cms与mysql数据库_帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    例1:连接MYSQL数据库例子.(a.php) require('e/class/connect.php'); //引入数据库配置文件和公共函数文件 require('e/class/db_sql.p ...

  3. 在mysql中加载并执行sql文件

    1.运行xampp 2.运行apache+mysql 3.浏览器中输入:http://localhost:8000/phpmyadmin/ 4.左侧"新建"按钮",输入& ...

  4. python 调用mysql_Python中直接在MySQL执行SQL命令

    因为懒,所以不想用SQLyog,用Python写了一个快速执行SQL命令的程序:import pymysql,sys class dealMySQL(object): 'PyMysql' versio ...

  5. pg服务管理 与 psql常用命令

    一. 服务启停与创建 1. 服务启动 启动方法 直接运行postgres进程启动 使用pg_ctl命令 #直接运行postgres进程启动 postgres -D $PGDATA &#使用pg ...

  6. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    https://www.zybuluo.com/aitanjupt/note/209941 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 〇.摘要 一.基础环境 二.数据存 ...

  7. 在存储过程中调用execute immediate 执行 create table语句报TBR-17004: Permission denied

    错误描述: 在存储过程中调用execute immediate 执行 create table语句报错TBR-17004 权限不正确,但是直接执行该语句不报错. SQL> conn sys/ti ...

  8. sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法

    sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...

  9. psql切换schema_关于PostgreSQL:如何在PSQL中切换数据库?

    在MySQL中,我使用了use database_name; psql等价物是什么? 在PostgreSQL中,可以使用客户端工具psql的\connectmeta命令: \CONNECT DBNAM ...

最新文章

  1. php简单还是go简单_PHP转Golang一些感想
  2. .Net Web开发技术栈
  3. Python中使用cutecharts实现简单的手绘风格的图表
  4. android 两个客户端间的通信(Socket通信)
  5. python缩进符错误_python – 如何修复Pylint“错误的缩进”和PEP8 E121?
  6. 图合成与差分隐私(图结构和节点属性)论文笔记
  7. 数学概率之z=x+y和z=x-y和z=x/y的分布
  8. intel h61 linux驱动下载,intel h61主板驱动
  9. windowsPE系统的制作
  10. python发送邮件群发软件_python使用tkinter写的邮件群发软件-python图形界面编程
  11. HTML+CSS+JS制作【飞机大战】小游戏(键盘版和鼠标版)
  12. HDOJ 1846 Brave Game(巴士博弈)
  13. 基于高德SDK实现跑步时轨迹渐变功能
  14. Swift UIView代码控制隐藏与显示
  15. 【BUG记录】关于os.chdir()改变路径导致的FileNotFound报错
  16. LintCode : 木材加工
  17. 电子邮箱免费申请注册教程,公司企业邮箱怎么开通注册?
  18. C++11 - 构建一个符合实际应用要求的线程池
  19. 万字长文科普:什么是低代码?
  20. iphone各个型号屏幕分辨率

热门文章

  1. adb命令重置_android – 擦除数据/通过ADB恢复出厂设置
  2. android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
  3. 某大型银行深化系统技术方案之十:核心层之任务调度
  4. [转载]Qt之获取本机网络信息_vortex_新浪博客
  5. python中组合框_Tkinter Python中的多个组合框
  6. mysql 开发基础系列19 触发器
  7. 【读书笔记】深入分析Java Web技术内幕-Cookie与Session
  8. Feign来调用服务
  9. Linux 用户he用户组管理
  10. 扩展AD 用户上传头像