PostgreSQL小版本升级

PostgreSQL小版本升级,第1张

概述我们知道pg_upgrade和pg_dump/pg_restore可以实现大版本升级数据库,那么小版本如何升级,比如从9.6.3到9.6.5? 原理:用新版本的软件程序启动,指定老的的数据目录 安装pgsql9.6.3 mkdir -p /usr/local/pgsql/pgsql9.6.3/{data,arch} groupadd dba useradd -g dba -G root postg

我们知道pg_upgrade和pg_dump/pg_restore可以实现大版本升级数据库,那么小版本如何升级,比如从9.6.3到9.6.5?

原理:用新版本的软件程序启动,指定老的的数据目录


安装pgsql9.6.3

mkdir -p /usr/local/pgsql/pgsql9.6.3/{data,arch}

groupadd dba

useradd -g dba -G root postgres -d /usr/local/pgsql

tar xf postgresql-9.6.3.tar.gz

chmod -R 755 /usr/local/pgsql

chown -R postgres:dba /usr/local/pgsql

chmod -R 700 /usr/local/pgsql/pgsql9.6.3/data/

./configure --prefix=/usr/local/pgsql/pgsql9.6.3/

make world && make install-world

cd /usr/local/pgsql/pgsql9.6.3/bin

./initdb -D /usr/local/pgsql/pgsql9.6.3/data-U postgres -E UTF8-W


vim pg_hba.conf

host all all 0.0.0.0/0 md5


vim postgresql.conf

Listen_addresses = '*'

wal_level = replica

port = 5432

max_connections = 300

shared_buffers = 128MB

logging_collector = on

log_directory = 'pg_log'

log_filename = 'postgresql-%Y-%m-%d_%H%M%s.log'

archive_mode = on

archive_command = 'test ! -f /usr/local/pgsql/pgsql9.6.5/arch/%f&&cp %p /usr/local/pgsql/pgsql9.6.5/arch/%f'

/usr/local/pgsql/pgsql9.6.3/bin/pg_ctl start -D /usr/local/pgsql/pgsql9.6.3/data


#生成测试数据

create database testdb1;

\c testdb1;

create table t1(ID int primary key,info text);

insert into t1 select generate_serIEs(1,1000000),'helloWorld';


安装pgsql9.6.5

mkdir -p /usr/local/pgsql/pgsql9.6.5/{data,arch}

groupadd dba

useradd -g dba -G root postgres -d /usr/local/pgsql

tar xf postgresql-9.6.5.tar.gz

chmod -R 755 /usr/local/pgsql

chown -R postgres:dba /usr/local/pgsql

chmod -R 700 /usr/local/pgsql/pgsql9.6.5/data/

./configure --prefix=/usr/local/pgsql/pgsql9.6.5/

make world && make install-world

cd /usr/local/pgsql/pgsql9.6.5/bin

/usr/local/pgsql/pgsql9.6.5/bin/initdb -D /usr/local/pgsql/pgsql9.6.5/data-U postgres -E UTF8-W


vim pg_hba.conf

host all all 0.0.0.0/0 md5


vim postgresql.conf

Listen_addresses = '*'

wal_level = replica

port = 5431

max_connections = 300

shared_buffers = 128MB

logging_collector = on

log_directory = 'pg_log'

log_filename = 'postgresql-%Y-%m-%d_%H%M%s.log'

archive_mode = on

archive_command = 'test ! -f /usr/local/pgsql/pgsql9.6.5/arch/%f&&cp %p /usr/local/pgsql/pgsql9.6.5/arch/%f'

/usr/local/pgsql/pgsql9.6.5/bin/pg_ctl start -D /usr/local/pgsql/pgsql9.6.5/data

/usr/local/pgsql/pgsql9.6.5/bin/pg_ctl stop -m fast -D /usr/local/pgsql/pgsql9.6.5/data


#停止老的数据库9.6.3

/usr/local/pgsql/pgsql9.6.3/bin/pg_ctl stop -m fast -D /usr/local/pgsql/pgsql9.6.3/data

#用9.6.5的软件程序启动,指定9.6.3的数据目录

/usr/local/pgsql/pgsql9.6.5/bin/pg_ctl start -D /usr/local/pgsql/pgsql9.6.3/data


postgres=# select version();

version

---------------------------------------------------------------------------------------------------------

Postgresql 9.6.5 on x86_64-pc-linux-gnu,compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4),64-bit

testdb1=# select count(*) from t1;

count

---------

1000000

总结

以上是内存溢出为你收集整理的PostgreSQL小版本升级全部内容,希望文章能够帮你解决PostgreSQL小版本升级所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1171998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存