On 4/29/24 08:04, Cocam' server wrote:

When replying use Reply All to include the mailing list
Ccing list

 > How much current free space do you have available on the disk?
as we speak, I only have 6 GB available on the machine running the server

 > Did you VACUUM FULL a table at a time or all of them at once?
I tried to make a VACUUM FULL. I also tried on the biggest tables (200 Mb and +) but not on all of them

Did the above work for each table?

Have you done something like?:

select relname, n_dead_tup from pg_stat_all_tables where relname = '<table_name>';

to see if there any dead tuples to clean out.

Or if you use the contrib extension pgstattuple:

https://www.postgresql.org/docs/current/pgstattuple.html

then:

SELECT * FROM pgstattuple('<table_name>');

This returns something like:

-[ RECORD 1 ]------+--------
table_len          | 3940352
tuple_count        | 4310
tuple_len          | 3755414
tuple_percent      | 95.31
dead_tuple_count   | 0
dead_tuple_len     | 0
dead_tuple_percent | 0
free_space         | 124060
free_percent       | 3.15



The two biggest are these:
  state_groups_state | 5475 MB
  event_json | 2328 MB

(I'd particularly like to make room on these two tables, which take up the most space)

By the way, excuse me if I make a few mistakes (especially when replying), this is the first time I've used Postgres community support directly


Le lun. 29 avr. 2024 à 16:37, Adrian Klaver <adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>> a écrit :

    On 4/29/24 07:33, Cocam' server wrote:

    Please reply to list also
    Ccing list

     > No, the aim is also to reallocate free space to the system for
    the other
     > tasks it performs.(That's why I said I'd like it returned to the OS)

    You led with:

    "I need help to make space on my database".

    How much current free space do you have available on the disk?

    Did you VACUUM FULL a table at a time or all of them at once?

    What are the individual tables sizes?

     >
     > Le lun. 29 avr. 2024 à 16:19, Adrian Klaver
    <adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>
     > <mailto:adrian.kla...@aklaver.com
    <mailto:adrian.kla...@aklaver.com>>> a écrit :
     >
     >     On 4/29/24 06:45, Cocam' server wrote:
     >      > Hello.
     >      >
     >      > I need help to make space on my database. I have tables
    that are
     >     several
     >      > GB in size. I used to use the VACUUM FULL VERBOSE command; but
     >     now, this
     >      > command is too greedy in free space to be used and I'm looking
     >     for a way
     >      > to make free space (given back to the OS)
     >      >
     >      > Thanks in advance to everyone who responds
     >
     >     Per
     >
     > https://www.postgresql.org/docs/current/sql-vacuum.html
    <https://www.postgresql.org/docs/current/sql-vacuum.html>
     >     <https://www.postgresql.org/docs/current/sql-vacuum.html
    <https://www.postgresql.org/docs/current/sql-vacuum.html>>
     >
     >     "VACUUM reclaims storage occupied by dead tuples. In normal
    PostgreSQL
     >     operation, tuples that are deleted or obsoleted by an update
    are not
     >     physically removed from their table; they remain present
    until a VACUUM
     >     is done. Therefore it's necessary to do VACUUM periodically,
    especially
     >     on frequently-updated tables.
     >
     >     <...>
     >
     >     Plain VACUUM (without FULL) simply reclaims space and makes it
     >     available
     >     for re-use. This form of the command can operate in parallel with
     >     normal
     >     reading and writing of the table, as an exclusive lock is not
    obtained.
     >     However, extra space is not returned to the operating system
    (in most
     >     cases); it's just kept available for re-use within the same
    table.
     >     "
     >
     >     So a regular VACUUM should work if all you want to do is give the
     >     database the ability to recycle the vacuumed tuple space.
     >
     >     --
     >     Adrian Klaver
     > adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>
    <mailto:adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>>
     >

-- Adrian Klaver
    adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>


--
Adrian Klaver
adrian.kla...@aklaver.com



Reply via email to