加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL9.2 升级至 PostgreSQL 9.3

发布时间:2020-12-13 17:24:18 所属栏目:百科 来源:网络整理
导读:1)备份9.2的数据 cp -r pgdata /home/postgres/pgdata.bak 2)修改环境变量至新的PostgreSQL路径 vi ~/.bash_profile /opt/postgres/pgsql/bin/psql 3)创建新数据库目录 mkdir /drbd/pgdata93 4)初始化数据库 /opt/postgres/pgsql/bin/initdb -E UTF-8 --

1)备份9.2的数据

cp -r pgdata /home/postgres/pgdata.bak


2)修改环境变量至新的PostgreSQL路径

vi ~/.bash_profile


/opt/postgres/pgsql/bin/psql


3)创建新数据库目录

mkdir /drbd/pgdata93


4)初始化数据库

/opt/postgres/pgsql/bin/initdb -E UTF-8 --local=en_US.UTF-8 -D /drbd/pgdata93/


如果升级时报如下错误,--local记得保持一致

lc_collate cluster values do not match: old "en_US.UTF-8",new "zh_CN.utf8"


5)执行升级(pg_upgrade 需要在contrib扩展里面安装,make 并且 make install即自动安装)

/opt/postgres/pgsql/bin/pg_upgrade -d /drbd/pgdata/ -D /drbd/pgdata93/ -b /usr/local/pgsql/bin/ -B /opt/postgres/pgsql/bin/



6)如果报自定义函数库找不到,需要重新编译并拷贝至 $libdir


more loadable_libraries.txt

Could not load library "$libdir/tablefunc"

ERROR: could not access file "$libdir/tablefunc": No such file or directory


Could not load library "$libdir/pgpool-recovery"

ERROR: could not access file "$libdir/pgpool-recovery": No such file or directory

Could not load library "$libdir/uuid-ossp"

ERROR: could not access file "$libdir/uuid-ossp": No such file or directory

Could not load library "$libdir/pg_stat_statements"

ERROR: could not access file "$libdir/pg_stat_statements": No such file or directory


7)注意

可能需要重新安装9.3的pgpool(即用源码在9.3的PostgreSQL环境下重新安装pgpool)

pgpool-II-3.3.3]$ ./configure --prefix=/home/postgres/opt/pgpool --with-pgsql=/opt/postgres/pgsql/


pgpool安装文件下 sql目录下面的 pgpool-recovery目录编译,才能出现如下.so,编译后拷贝至 $libdir

pgpool-recovery.so



8)启动数据库后,可以执行

/home/postgres/analyze_new_cluster.sh

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读