Re: Postgresql 'eats' all mi data partition - Mailing list pgsql-bugs

From Andreas Pflug
Subject Re: Postgresql 'eats' all mi data partition
Date
Msg-id 3F7322AB.6070506@pse-consulting.de
Whole thread Raw
In response to Postgresql 'eats' all mi data partition  (Javier Carlos <fjcarlos@correo.insp.mx>)
List 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

pgsql-bugs by date:

Previous
From: Pedro Zorzenon Neto
Date:
Subject: Correction to 'translate' function in postgresql
Next
From: Stephan Szabo
Date:
Subject: Re: Postgresql 'eats' all mi data partition