Postgresql报错FATAL: XX000: database files are incompatible with server

新建数据库,迁移数据,启动的时候无法启动
FATAL: XX000: database files are incompatible with server
DETAIL: The database cluster was initialized with RELSEG_SIZE 131072, but the server was compiled with RELSEG_SIZE 1048576.

源数据库131072

postgres=> select name,setting from pg_settings where category = 'Preset Options' order by name;
         name          | setting 
-----------------------+---------
 block_size            | 8192
 integer_datetimes     | on
 max_function_args     | 100
 max_identifier_length | 63
 max_index_keys        | 32
 segment_size          | 131072
 server_version        | 9.2.9
 server_version_num    | 90209
 wal_block_size        | 16384
 wal_segment_size      | 1024

目标数据库默认是1048576

 postgres=#  select name,setting from pg_settings where category = 'Preset Options' order by name;
         name          | setting 
-----------------------+---------
 block_size            | 8192
 integer_datetimes     | on
 max_function_args     | 100
 max_identifier_length | 63
 max_index_keys        | 32
 segment_size          | 1048576
 server_version        | 9.2.9
 server_version_num    | 90018
 wal_block_size        | 8192
 wal_segment_size      | 8192

需要重新编译数据库软件:

#由select (131072 * 8192)/1024/1024/1024;计算得到RELSEG_SIZE为1,单位GB
#可以看到wal_block_size对应--with-wal-blocksize应该是16,segment_size对应----RELSEG_SIZE应该为1
#需要删除重新编译,报错消失
rm -rf postgresql-9.2.9
tar -jxvf postgresql-9.2.9.tar.bz2
cd postgresql-9.2.9
./configure '--prefix=/opt/pgsql9.2.9' '--with-pgport=1923' '--with-segsize=1' '--with-perl' '--with-python' '--with-openssl' '--with-pam' '--with-ldap' '--with-libxml' '--with-libxslt' '--enable-thread-safety' '--with-wal-blocksize=16'
gmake world && gmake install-world
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值