> Did the above work for each table? Yes, except for the biggest table > Have you done something like?: > > select relname, n_dead_tup from pg_stat_all_tables where relname = > '<table_name>';
I hadn't thought of that, but it seems that some tables have dead tuples Le lun. 29 avr. 2024 à 17:34, Adrian Klaver <adrian.kla...@aklaver.com> a écrit : > 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 > >