CentOS7
原版本:
psql -version
psql (9.2.14)
准备升级到9.4版本
-bash-4.2$ pg_dump -U postgres whr_info_db>whr_info_db_bak.copy.sql; 这句使用copy备份,可以不运行。
-bash-4.2$ pg_dump -U postgres --column-inserts whr_info_db>whr_info_db_bak.insert.sql;
备份的文件位置是在:
/var/lib/pgsql
到http://yum.postgresql.org
wget http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-2.noarch.rpm
rpm -ivh ./pgdg-centos94-9.4-2.noarch.rpm
rpm -qa | grep postgre
yum list postgres* | grep 94
如果yum资源无法连接,则可运行命令:
yum install yum-plugin-fastestmirror 自动寻找最快的镜像。
yum install postgresql94.x86_64 postgresql94-server.x86_64 postgresql94-libs.x86_64 postgresql94-contrib.x86_64 postgresql94-devel.x86_64
这时它的安装位置可以通过命令查询到:
/usr/pgsql-9.4
停止sudo systemctl stop postgresql
rpm -qa | grep postgresql
把找到的包全部删除
yum remove postgresql*
再运行安装命令:
yum install postgresql94-server
数据位置:
/var/lib/pgsql/9.4/data
运行:
service postgresql-9.4 initdb
当然这句很可能会失败,则运行:
/usr/pgsql-9.4/bin/postgresql94-setup initdb
chkconfig postgresql-9.4 on
参照http://blog.csdn.net/xundh/article/details/50037353#t1修改配置:
这里路径要改为/var/lib/pgsql/9.4/data/pg_hba.conf
修改/var/lib/pgsql/9.4/data/pg_hba.conf
在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置
host all all 0.0.0.0/0 md5
service postgresql-9.4 start
sudo su - postgres
-bash-4.2$ psql
创建用户用色
postgres=# CREATE USER whr_info WITH PASSWORD '123456';
postgres=# CREATE DATABASE whr_info_db OWNER whr_info;
postgres=# GRANT ALL PRIVILEGES ON DATABASE whr_info_db to whr_info;
postgres=# \q
-bash-4.2$ psql -d whr_info_db -U postgres -f whr_info_db_bak.insert.sql
参考: http://www.uptimemadeeasy.com/databases/upgrade-postgresql/
9.4文档:http://www.postgresql.org/docs/9.4/static/