PostgreSQL-psql命令详解

Posted 孙霸天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL-psql命令详解相关的知识,希望对你有一定的参考价值。

psql命令

psql是PostgreSQL的一个命令行交互式客户端工具,它具有非常丰富的功能,类似于Oracle的命令行工具sqlplus。

元命令

连接数据库

连接指定服务器上的数据库

psql -h 192.168.1.210 -p 5432 -U hr -d hr_db
  • -h后面的IP地址(192.168.1.210)是数据库所在的IP地址
  • -p后面的端口(5432)是数据库的监听端口
  • -U后面的参数(hr)是创建的用户名
  • -d后面的参数(hr_db)是创建的数据库名称

断开psql客户端

# 按Ctrl+D组合键
\\q

常用命令

"\\c"命令

# 查看所有数据库
\\l
# 切换数据库
\\c gis

"\\d"命令

# 查看当前数据库中所有表、视图、序列
\\d
# 在"\\d"命令后面接表名,则可以查看该表的表定义
\\d pgbench_accounts

"\\db"命令

# 查看表空间的信息
\\db

"\\dn"命令

# 可以查看所有的模式信息
\\dn

“\\du"命令或”\\dg"命令

# 可以查看数据库中的所有角色或用户
\\du

"\\x"命令

# 可以设置查询结果的输出模式
\\x

"?"命令

# 可以查询PostgreSQL支持的所有命令
\\?

其他常用命令

# 查看数据库
\\l 
# 查看表定义
\\d tablename
# 查看表大小
\\dt+ tablename
# 查看索引大小
\\di+ tablename
# 查看函数代码 \\sf random_range
\\sf functionName
\\sf functionName(integer,integer)
# 查看SQL命令语法
\\h 
\\h create database
# 显示SQL语句执行时间,(再执行一次关闭)
\\timing

使用技巧

获取元命令对应的SQL代码

psql执行元命令,实质上是转换成对应的SQL语句来执行的。如果要获取这些SQL语句,则需要在psql连接数据库时增加“-E”选项

psql -h 127.0.0.1 -p 5432 -U postgres -d postgres -E 

使用上下键翻动历史命令

psql支持使用上下键获取执行过的历史命令

自动补全功能

psql的自动补全功能使用起来非常方便。在执行语句时,不需要完全输入数据对象的名称,使用Tab键可以自动补全

显示SQL语句执行时间

使用“\\timing”命令,可以打开显示SQL语句执行时间的开关。再使用一次“\\timing”命令,则关掉该开关

日常维护语句

查询活动会话(active_session)

select pid,usename,datname,query,client_addr from pg_stat_activity where pid <> pg_backend_pid() and state='active' order by query;

查询等待事件(wait_event)

select wait_event_type,wait_event,state,query,a.* from pg_stat_activity a where query like 'insert%';

以上是关于PostgreSQL-psql命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Postgres-存储过程 return 详解

Postgres-存储过程 return 详解

无法执行 postgres 命令

Docker - 如何在postgres容器中运行psql命令?

postgres相关命令

Postgres copy命令导入导出数据