Есть ли способ ограничить размер базы данных или стереть ландшафтные события?
Если нет, то я полагаю, что мне придется расширять файловую систему?
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
Спасибо за вашу помощь.
Нет никаких простых методов ограничить физический размер базы данных. Существует однако способ поддержать одну базу данных по нескольким дискам (разделы).
можно создать табличные области, например,
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;
Read о табличных областях в документация .