有没有办法限制数据库大小或删除景观事件?
如果没有,我想我必须扩展文件系统?
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;
阅读有关表空间的内容文档。