Sample Header Ad - 728x90

How much space required to merge two tables?

0 votes
0 answers
44 views
I have some large sets of tables that I partition by date. Every day I run a query similar to this to merge the two tables WITH moved_rows AS ( DELETE FROM tableA_20230531 RETURNING * ) INSERT INTO tableA_202305 SELECT * FROM moved_rows The table called tableA_20230531 contains all my data for 1 day - averages about 1Gbyte. The table tableA_202305 contains the data for the month so far, obviously this gets bigger as the month progresses. Sometimes the query falls due to lack of space (**ERROR: 53100: could not extend file.... No space left on device** ). I know how large the two tables are, and I know how much free space I have on the disk. Is there any way of working out (before running) if I have enough space for the query to execute successfully? Somedays it will happily work even if the available freespace is less than the size of the daily table. Otherdays it will fail even with freespace more than twice the size of the daily table. (no other users connected when this is running, whole database on same disk, one index, about 10% of the table size - an additional 100Mbyte per day. Archiving, replication and checkpointing all left to original, as-installed default settings - that's my of saying I don't know!)
Asked by ConanTheGerbil (1303 rep)
Jun 6, 2023, 10:48 AM
Last activity: Jun 6, 2023, 05:56 PM