数据库配置
- 配置文件
/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列出数据库中的所有角色和用户: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 gbkencoding 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 onset ECHO_HIDDEN off - 更多命令
?用来显示更多命令
内容来源
唐成. PostgreSQL修炼之道[M]. 机械工业出版社, 2015.


