psql 命令总结

1 登录数据库

Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
-p, --port=PORT database server port (default: "")
-U, --username=USERNAME database user name (default: "zhangjin")
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically) $ psql -h 127.0. -U postgres -p -W Password for user postgres:
psql (9.3.)
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: )
Type "help" for help. postgres=#

-d 可直接登录到database 如

$ psql -h 127.0. -U postgres -p  -d mytestdb -W

也可以设置环境变量

export PGDATABASE=testdb
export PGHOST=127.0.0.1
export PGPORT=
export PGUSER=postgres

或.pgpass 在/home/postgres目录下 

2 常用命令

psql 命令都是以 \ 作为开始 ,

 \l 查看数据库

postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------+----------+----------+-------------+-------------+-----------------------
basedb | postgres | UTF8 | zh_CN.UTF- | zh_CN.UTF- |
postgres | postgres | UTF8 | zh_CN.UTF- | zh_CN.UTF- |
root | postgres | UTF8 | zh_CN.UTF- | zh_CN.UTF- |
template0 | postgres | UTF8 | zh_CN.UTF- | zh_CN.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF- | zh_CN.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
( rows)

\c 连接到database

postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".

\d 列出当前数据库的所有表

poi=# \d
List of relations
Schema | Name | Type | Owner
--------+-------------------------+-------+----------
public | my_table | table | postgres
( row)

\d tablename 列出指定表 , 可加通配符 * ?

\dt 只显示匹配的表

\di 只显示索引

\ds 只显示序列

\dv 只显示视图

\df 显示函数

\dn 所用的schema

\db 所用的表空间

\dx 查看扩展 extension

\dg \du 列出所有角色或用户

\dp \z 显示表的权限分配情况

\q  退出

3 其他设置命令

\timing 显示sql以执行时间

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

\x 把表中的每一行的每列数据都拆分为单行展示

4 执行存储在外部文件中的SQL命令

\i 或 在sql命令行加 -f<filename>

5 自动提交

postgres=# begin;
BEGIN
postgres=# alter database poi rename to poi1;
ALTER DATABASE
postgres=# commit;
COMMIT

\set AUTOCOMMIT off 注意大写

6 查看正在连接的客户端

select * from pg_stat_activity ;

借助 \x显示

$ kill -9 pid

上一篇:centos 6.5网卡dhcp不能获得网关


下一篇:elasticsearch 学习笔记-kibana