PostgreSQL常用命令

1 启动数据库

#方式一
$ postgres -D /usr/local/pgsql/data
#方式二
$ postgres -D /usr/local/pgsql/data >logfile 2>&1 &
#方式三
$ pg_ctl start -l logfile

2 关闭数据库

#方式一 暴力做法,不推荐
$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`

#方式二 pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s]
$ pg_ctl stop
#指定模式smart、fast或immediate 默认模式是fast
$ pg_ctl stop -m smart


3 重启数据库

$ pg_ctl restart

4 显示服务器状态

$ pg_ctl status
pg_ctl: server is running (PID: 13718)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128"

5 导出数据

#0 备份整个库
$ pg_dump testdb > testdb.sql
#查看导出的过程
$ pg_dump testdb --verbose > testdb.sql

#1 导出单张数据表 
$ pg_dump -t jy_data_part.pj_cllbjdyb_ada0 sip_cloud > pj_cllbjdyb_ada0.sql
#2 导出多张数据表
$ pg_dump -t jy_data_part.pj_clljtxdyb_dza0 -t jy_data_part.pj_clljtxdyb_dza1 -t jy_data_part.pj_clljtxdyb_dza2  sip_cloud > pj_clljtxdyb_dza0.sql
#3 如果表太多执行命令行会报错,可以写一个脚本执行

#!/bin/bash
echo "开始导出..."

pg_dump \
-t jy_data_part.pj_cztx \
-t jy_data_part.pj_exclusive_info \
-t jy_data_part.pj_clljtxdyb_dza2 \
-t jy_data_part.pj_ljjgxxb \
-t jy_data_part.pj_ljjgxxb_seq \
-t jy_data_part.pj_outer_part \
-t jy_data_part.pj_pplbjdyb \
-t jy_data_part.pj_pzshljdyb \
-t jy_data_part.pj_recycle_part \
-t jy_data_part.pj_sytxfzxxb \
-t jy_data_part.pj_sytxxxb \
-t jy_data_part.pj_txxxb \
-t jy_data_part.pj_zc_cxdyb \
-t jy_data_part.pj_zd_lbjbzb \
-t jy_data_part.pj_zd_pzbwzdb \
-t jy_data_part.pj_zd_pzcdzdb \
-t jy_data_part.pj_zd_qyzd \
-t jy_data_part.ref_part_flag \
-t jy_data_part.seri_infod \
-t jy_data_part.series_grade_relation sip_cloud > pj_cztx.sql

echo "导出结束..."

6 数据导入

$ psql -d yanbao -U root -f /home/postgres/part_material.sql
#数据密码

7 批量执行表授权

select 'grant all on table "' || schemaname || '".' || tablename || ' to yanbao;' from pg_tables
where schemaname = 'jy_data_part'
order by tablename;

8 批量执行创建视图

select 'create view '|| tablename || ' as select * from jy_data_part.' || tablename ||';' from pg_tables
where schemaname = 'jy_data_part'
order by tablename;

备注:如需其他内容,请参考: http://postgres.cn/docs/12

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值