PostgreSQL数据文件存储大小通过segment_size参数控制,默认为1G
show segment_size ;
先看下官方的介绍:
segment_size (integer)
报告一个文件段中可以存储的块(页)的数量。由编译服务器时的RELSEG_SIZE值决定。
一个段文件的最大尺寸(以字节计)等于segment_size乘以block_size,默认是 1GB。
select name,setting from pg_settings where category = 'Preset Options' order by name;
测试一下:
create table tab1( a int,b text); insert into tab1 values (generate_series(1,50000000),'testpostgresql');
查看数据文件位置
select pg_relation_filepath('tab1');
检查数据文件是否被正确分割
Tips:
block_size大小会影响数据文件分割,也可能关联影响到数据的备份恢复(比如pg_rman),在使用中需要做好验证。