PostgreSQL常用命令

2020-08-03 11:20:24 浏览数 (1)

数据库配置

  • 配置文件 /etc/postgresql/9.5/main/postgresql.conf
  • 数据目录 /var/lib/postgresql/9.5/main

进入数据库

  • 切换到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 列出数据库中的所有角色和用户:dudg 显示表的权限分配情况:dpz
  • 创建用户数据库 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
  • 更多命令 ? 用来显示更多命令

内容来源

唐成. PostgreSQL修炼之道[M]. 机械工业出版社, 2015.

0 人点赞