CostOS7下升级postgres
时间:2015-12-26 00:37 来源:linux.it.net.cn 作者:IT
环境
CentOS7
原版本:
psql -version
psql (9.2.14)
准备升级到9.4版本
操作步骤
完整备份Postgresql
-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
运行upgrade
停止sudo systemctl stop postgresql
删除现有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/
(责任编辑:IT)
环境
CentOS7 操作步骤完整备份Postgresql-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
这时它的安装位置可以通过命令查询到: 运行upgrade停止sudo systemctl stop postgresql 删除现有postgresqlrpm -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 在该配置文件的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 (责任编辑:IT) |