macosx下从PostgreSQL 14更新到PostgreSQL 15

原创
2020/09/29 13:23
阅读数 918

macosx下从PostgreSQL 14(PG14)更新到PostgreSQL 15(PG15)

1)修改PG14运行端口

修改PG14的运行端口到15432

sudo vim /Library/PostgreSQL/14/data/postgresql.conf

port = 5432   =>. port = 15432

重启PG14

sudo -u postgres /Library/PostgreSQL/14/bin/pg_ctl -D /Library/PostgreSQL/14/data restart

 

2) 安装PG15,运行端口默认为5432

 

3)修改PG15,PG15的pg_hba.conf文件,让本地互信

sudo vim /Library/PostgreSQL/14/data/pg_hba.conf

sudo vim /Library/PostgreSQL/15/data/pg_hba.conf

 

local all all trust

 

重启

sudo -u postgres /Library/PostgreSQL/14/bin/pg_ctl -D/Library/PostgreSQL/14/data restart

sudo -u postgres /Library/PostgreSQL/15/bin/pg_ctl -D/Library/PostgreSQL/15/data restart

 

4)切换目录,停止服务器

升级过程中会有写入,切换到/tmp目录下

cd /tmp

停止服务器

sudo -u postgres /Library/PostgreSQL/12/bin/pg_ctl -D/Library/PostgreSQL/12/data stop

sudo -u postgres /Library/PostgreSQL/13/bin/pg_ctl -D/Library/PostgreSQL/13/data stop

 

5)升级

先测试

sudo -u postgres /Library/PostgreSQL/13/bin/pg_upgrade -c -d /Library/PostgreSQL/12/data -D /Library/PostgreSQL/13/data -b /Library/PostgreSQL/12/bin -B /Library/PostgreSQL/13/bin -p 15432 -P 5432

若locale不一致,登录PG13,升级一下,安全前可以选择合适的locale值。

UPDATE pg_database SET datcollate='zh_CN.UTF-8', datctype='zh_CN.UTF-8' WHERE datname='template0';

UPDATE pg_database SET datcollate='zh_CN.UTF-8', datctype='zh_CN.UTF-8' WHERE datname='template1';

UPDATE pg_database SET datcollate='zh_CN.UTF-8', datctype='zh_CN.UTF-8' WHERE datname='postgres';

select datname, datcollate, datctype from pg_database;

没有报错后,再执行

sudo -u postgres /Library/PostgreSQL/13/bin/pg_upgrade -v -d /Library/PostgreSQL/12/data -D /Library/PostgreSQL/13/data -b /Library/PostgreSQL/12/bin -B /Library/PostgreSQL/13/bin -p 15432 -P 5432

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部