技术知识库

帮助中心 >  产品文档 >  数据库 >  PostgreSQL数据库常用命令

PostgreSQL常用命令

进入数据库

· 切换到postgres用户 sudo su postgres

· 连接数据库 psql

· 退出psql \\q

数据库状态

· 查看数据库状态 sudo service postgresql status

· 启动数据库状态 sudo service postgresql start

· 查看数据库状态 sudo service postgresql stop

数据库操作

· 列出所有数据库 \\l

· 显示数据库中有哪些表 \\d

· 显示表table_name的定义情况 \\d table_name;

· \\d的具体用法 \\d后面可以跟t_pkey(索引信息)和通配符 \\d+可以显示更详细的信息 只显示匹配的表:\\dt 只显示索引:\\di 只显示序列:\\ds 只显示视图:\\dv 只显示函数:\\df 列出所有的schema:\\dn 显示所有的表空间:\\db 列出数据库中的所有角色和用户:\\du\\dg 显示表的权限分配情况:\\dp\\z

· 创建用户数据库 CREATE DATABASE testdb

· 连接到用户数据库 \\c testdb;

· psql连接数据库命令格式 psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称] 示例如下: psql -h 192.168.56.11 -p 5432 testdb postgres 最后两个参数是数据库名和用户名 这些参数也可以用环境变量指定,比如: export PGDATABASE=testdb export PGHOST=192.168.56.11 export PGPORT=5432 export PGUSER=postgres

· 显示SQL已执行的时间 \\timing on

· 指定客户端字符编码 \\encoding gbk \\encoding utf8

· 设置输出格式 \\pset border 0:表示输出内容无边框 \\pset border 1:表示边框只在内部 \\pset border 2:表示内外部都有边框

· 每一行的每列拆分为单行展示 \\x 如果一行数据有太多,显示不下,可以使用\\x与MySQL的\\G类似。

· 执行存储在外部文件中的SQL命令 \\i <filename> 终端中中执行: psql -f <filename> 可以达到同样的效果

· 显示信息 \\echo 用于输出一行信息,比如: \\echo hello world

· 自动提交和回滚 运行begin;命令,然后执行dml语句,最后执行commit;提交或rollback;回滚 直接使用psql的命令关闭自动提交的功能: \\set AUTOCOMMIT off

· 得到psql中命令实际执行的SQL 在启动psql的命令行中加-E参数,就可以把psql中各种以\\开头的的命令执行的实际SQL打印出来 可以使用命令打开\\关闭这个功能: \\set ECHO_HIDDEN on \\set ECHO_HIDDEN off

· 更多命令 \\? 用来显示更多命令


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: