安装postgres9.4
yum install -y https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
yum install -y postgresql94-server postgresql94-contrib
/usr/pgsql-9.4/bin/postgresql94-setup initdb
systemctl enable postgresql-9.4.service
systemctl start postgresql-9.4.service
systemctl status postgresql-9.4.service
备份和还原
pg_dump -h 172.16.101.165 -U postgres RulePlatform > /opt/RulePlatform.bak
psql -h 10.10.9.34 -U postgres -d RulePlatform < /opt/RulePlatform.bak
启动日志:
cat /var/lib/pgsql/9.4/pgstartup.log
进程日志
tailf /var/lib/pgsql/9.6/data/pg_log/postgresql-Tue.log
备份脚本
#!/bin/bash
#
/usr/pgsql-9.4/bin/pg_dump -h 127.0.0.1 -U postgres RulePlatform > /var/pgsqlback/RulePlatform.bak.`/bin/date +'%Y_%b_%d_%H%M'`
sleep 10
/usr/pgsql-9.4/bin/pg_dump -h 127.0.0.1 -U postgres RulePlatform_dadi > /var/pgsqlback/RulePlatform_dadi.bak.`/bin/date +'%Y_%b_%d_%H%M'`
#tar -jcf /var/pgsqlback/RulePlatform.sql.`date +'%Y_%b_%d'`.tar.bz2 /var/pgsqlback/RulePlatform.sql.`date +'%Y_%b_%d'`*
sleep 60
/usr/pgsql-9.4/bin/pg_dump -h 192.168.20.37 -U postgres RulePlatform > /var/pgsqlback/ZSCRulePlatform.bak.`/bin/date +'%Y_%b_%d_%H%M'`
任务计划
* */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com;hwclock -w &> /dev/null
0 5 * * * /bin/sh /usr/local/bin/pgsqlback.sh
25 6 * * * /bin/find /var/pgsqlback/ -name 'RulePlatform.bak.20*' -mtime +4 | xargs rm -rf
30 6 * * * /bin/find /var/pgsqlback/ -name 'RulePlatform_dadi.bak.20*' -mtime +4 | xargs rm -rf
#35 6 * * * /bin/find /var/pgsqlback/ -name 'ZSCRulePlatform.bak.20*' -mtime +4 | xargs rm -rf
pg_dump database > /home/user/database.dmp -U postgres
执行该命令备份postgresql数据库时会要求输入密码,非常麻烦,怎么可以不输入密码呢?
解决办法:
把密码放到环境变量里:
export PGPASSWORD='your password'