1.postgresql查看數(shù)據(jù)庫的連接數(shù):
查看所有連接的用戶:select * from pg_stat_activity;
查看連接總數(shù):select count(*) from pg_stat_activity;
2.導出某個數(shù)據(jù)的所有表結構體和數(shù)據(jù)
sudo pg_dump -U zhangsan testdb > test.sql
3.導出某個數(shù)據(jù)庫某張表的結構和數(shù)據(jù) 加一個-t跟一個表名可以導出多張表
pg_dump -h 127.0.0.1 -p 5432 -U zhangsan-d testdb -t test_log --inserts -f game_record.sql
4.導出某個數(shù)據(jù)庫某一張表的數(shù)據(jù)
pg_dump -t ncmj_agents -f test.sql qipaidb
- 導出表的數(shù)據(jù)
\copy (select * from club_cajian_binding) to '/Users/zhangsan/Downloads/data.sql';
6. 將數(shù)據(jù)導入某張表中
\COPY club_cajian_binding from '/Users/zhangsan/Downloads/data.sql’;
(特別注意揖庄,如果導入的表中存在自增主鍵,要將自增主鍵設為當前最大主鍵ID+1,否則會報錯)select setval('club_cajian_binding_id_seq',28503,false);
7.給予某個用戶某張表的所有權限
GRANT ALL PRIVILEGES ON user_tickets_store TO dbreader;
8.給予某個用戶某張表的部分權限
GRANT(INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER,CREATE,CONNECT,TEMPORARY,EXECUTE , USAGE) ON user_tickets_store TO dbreader;
9.REVOKE 回收權限
REVOKE SELECT ON 表名 FROM 用戶名;
REVOKE SELECT, INSERT, DELETE ON 表名 FROM 用戶名1, 用戶名2;
10.在終端創(chuàng)建數(shù)據(jù)庫
createdb shoeselldb -O postgres -E UTF8 -e
在數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫:create database dbname
11.刪除表的unique約束
ALTER TABLE tableName DROP CONSTRAINT 約束名稱;
12.給表加一列:
alter table tableName add 列名 數(shù)據(jù)類型 約束.....
例如:alter table match_award_log add is_robot boolean not null default false;
13.數(shù)據(jù)庫執(zhí)行sql查看的執(zhí)行時間 \timing on
14.psql數(shù)據(jù)庫備份命令
pq_dump –h 主IP –U username –t 表名 數(shù)據(jù)庫名 > 備份路徑
pg_dump –h 127.0.0.1 -U qipai -t ncmj_agents qipaidb > ./agents.sql
pg_dump -U postgres(用戶名) (-t 表名) 數(shù)據(jù)庫名(缺省時同用戶名) > 路徑/文件名.sql