Re: Postgresql 'eats' all mi data partition

From: Andreas Pflug <pgadmin(at)pse-consulting(dot)de>
To: Javier Carlos <fjcarlos(at)correo(dot)insp(dot)mx>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Postgresql 'eats' all mi data partition
Date: 2003-09-25 17:15:23
Message-ID: 3F7322AB.6070506@pse-consulting.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Javier Carlos wrote:

>============================================================================
> POSTGRESQL BUG REPORT TEMPLATE
>============================================================================
>
>
>Your name : Javier Carlos Rivera
>Your email address : fjcarlos ( at ) correo ( dot ) insp ( dot ) mx
>
>
>System Configuration
>----------------------
> Architecture (example: Intel Pentium) : Intel Pentium 4
>
> Operating System (example: Linux 2.0.26 ELF) : Debian GNU/Linux 3.0 2.4.21
>
> RAM : 256 MB
>
> PostgreSQL version (example: PostgreSQL-6.3.2) : PostgreSQL-7.3.4
>
> Compiler used (example: gcc 2.7.2) : 2.95.4
>
>
>
>Please enter a FULL description of your problem:
>-------------------------------------------------
> On Thursday Bruce Momjian was at Mexico; I saw him and asked about
>this problem. He told me to write to this e-mail.
>
> When I do a simple 'UPDATE' PostgreSQL 'eats' all my partition space
>of my data directory. For example:
>
>***** My data directory is in /var
>***** BEFORE I do the UPDATEs I got this from df:
>OPORTUNIDADES:~# df
>Filesystem 1k-blocks Used Available Use% Mounted on
>/dev/hda2 2885812 14372 2724848 1% /
>/dev/hda1 14421344 1195132 12493652 9% /var
>/dev/hda3 7692908 888560 6413568 13% /usr
>/dev/hda6 12491804 22704 11834536 1% /javier
>/dev/hda7 1494204 23936 1394364 2% /home
>
>
>***** Then I do the UPDATEs:
>**** The updates are of this type :
>UPDATE tbl_personas SET "PIDFOLIO"=-2 WHERE "PIDFOLIO" IS NULL;
>UPDATE tbl_personas SET "P5_1"=-2 WHERE "P5_1" IS NULL;
>UPDATE tbl_personas SET "P4PAQ"=-2 WHERE "P4PAQ" IS NULL;
>UPDATE tbl_personas SET "P5_4"=-2 WHERE "P5_4" IS NULL;
>UPDATE tbl_personas SET "P5_5"=-2 WHERE "P5_5" IS NULL;
>UPDATE tbl_personas SET "P36_4"=-2 WHERE "P36_4" IS NULL;
>..
>UPDATE table_name SET column_name = -2 WHERE column_name IS NULL;
>..
>
>
> For this example, I run 182 UPDATE queries. It took a long time to
>PostgreSQL to do that updates (more than 30 minutes).
>***** After that I got this from df:
>OPORTUNIDADES:~# df
>Filesystem 1k-blocks Used Available Use% Mounted on
>/dev/hda2 2885812 14368 2724852 1% /
>/dev/hda1 14421344 7422004 6266780 55% /var
>/dev/hda3 7692908 888536 6413592 13% /usr
>/dev/hda6 12491804 22704 11834536 1% /javier
>/dev/hda7 1494204 23960 1394340 2% /home
>
>******* The /var Partition growed up from 9% to 55%, from 1GB to 5.9GB !!!!
>
>*** When I make a 'DROP DATABASE' to the database where that table belongs to,
>mi /var partition returns to its original size (in this example to 9%).
>
> If I'd continue making UPDATES the size of the database will grow up
>until fill all my partition (from 1GB grows up to 15GB !!!).
>

This is by design, you need to VACUUM regularly to keep your db healthy
as pointed out in the documentation.

Regards,
Andreas

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Stephan Szabo 2003-09-25 17:21:13 Re: Postgresql 'eats' all mi data partition
Previous Message Viacheslav N Tararin 2003-09-25 16:41:31 Rule execution bug