Ландшафт - База данных Postgresql заполняет хранилище


3

Есть ли способ ограничить размер базы данных или стереть ландшафтные события?

Если нет, то я полагаю, что мне придется расширять файловую систему?

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;

Читайте о табличных пространствах в документации .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.