目前的系统信息类查询依赖系统内部表(视图),整个sql语句非常繁琐,为了简化DBA们的日常运维(偷懒),强烈建议ob引入元命令(类pg的)
元命令越多,越不见得是好事啊
你能举个例子么?主要ob数据库有自己的视图,可以通过这些视图 查看信息
有点像sql的别名,非常好用
我觉得pg的元命令,查系统视图用简单的命令实现,比如
?: 查看元命令的帮助。
\l: 列出所有数据库。
\encoding: 查看字符集。
\encoding 字符集: 设置字符集。
\password user_name: 修改用户密码。
\x: 以列显示的开关。相当于mysql中的\G。执行一次为打开,再执行一次为关闭。
\timing on|off: 设置是否显示执行时长。
\set AUTOCOMMIT on|off: 打开/关闭自动提交功能。
\conninfo: 显示连接信息。
! : 执行shell命令。如:! date, 输出当前日期。
\i filename: 执行filename文件中的sql语句,也可用psql -s filename。
\q: 退出psql命令行环境。
\e:打开文本编辑器。
\pset
\pset border 0/1/2:设置执行结果的边框样式。
\pset border 0: 输出内容无边框,无任何|
\pset border 1: 边框只在内部有,无外边框
\pset border 2: 内外都有边框
\gexec:将当前查询缓冲区发送到服务器,然后将查询输出(如果有的话)的每一行的每一列都要作为要执行的SQL语句处理。这个用法可参考:Psql之\gexec命令。
\c
\c: 查看当前数据库和用户。查询当前数据库等同于select current_database();查询当前用户等同于select current_user;
\c db_name: 进入指定的数据库。
\c database user_name : 切换到某个数据库下某个角色
\d
\dn: 列出当前库下所有schema。
\d: 查看当前数据库下的所有表、视图和序列。
\dt: 只查看数据库中的所有表。
\d tb_name: 查看表结构定义。
\dt+ tb_name: 查看表大小等属性。
\db: 查看表空间。
\du: 列出所有用户及其用户权限。
\ds: 查看用户自定义序列。
\df: 查看用户自定义函数。