景观 - Postgresql 数据库填满存储

景观 - Postgresql 数据库填满存储

有没有办法限制数据库大小或删除景观事件?

如果没有,我想我必须扩展文件系统?

root@prod-lds-db:~# du -shc /var/lib/postgresql/9.1/main/*
12G     /var/lib/postgresql/9.1/main/base
1,6M    /var/lib/postgresql/9.1/main/global
7,9M    /var/lib/postgresql/9.1/main/pg_clog
28K     /var/lib/postgresql/9.1/main/pg_multixact
12K     /var/lib/postgresql/9.1/main/pg_notify
4,0K    /var/lib/postgresql/9.1/main/pg_serial
240K    /var/lib/postgresql/9.1/main/pg_stat_tmp
176K    /var/lib/postgresql/9.1/main/pg_subtrans
4,0K    /var/lib/postgresql/9.1/main/pg_tblspc
4,0K    /var/lib/postgresql/9.1/main/pg_twophase
4,0K    /var/lib/postgresql/9.1/main/PG_VERSION
129M    /var/lib/postgresql/9.1/main/pg_xlog
4,0K    /var/lib/postgresql/9.1/main/postmaster.opts
4,0K    /var/lib/postgresql/9.1/main/postmaster.pid
0       /var/lib/postgresql/9.1/main/server.crt
0       /var/lib/postgresql/9.1/main/server.key
12G     total

感谢您的帮助。

答案1

没有简单的方法来限制物理数据库的大小。但是有一种方法可以在多个磁盘(分区)上维护一个数据库。

您可以创建表空间,例如

CREATE TABLESPACE extra_space LOCATION '/extra/space';

(请注意,'/extra/space' 的所有者通常应该与默认数据库目录的所有者相同postgres)。

您可以在非默认位置创建新对象(表、索引):

CREATE TABLE new_table (id int, val text) TABLESPACE extra_space;

您甚至可以将现有对象移动到非默认表空间:

ALTER TABLE old_table SET TABLESPACE extra_space;

阅读有关表空间的内容文档

相关内容