Shridhar Daithankar <shridhar_daithankar@persistent.co.in> writes:
> Let's say I have only one wAL segment of 16MB and in a single transaction I
> put 20MB of data, say a text file dump inside a transaction.
AFAIR you cannot force the system to have only one WAL segment; it
*will* make another one when it has to.
Once it has established a checkpoint within the current WAL segment,
it is able to delete the previous segment, and will do so if you've
set the WAL parameters that small. I don't really recommend doing
so however. Creating and deleting WAL segments is expensive, and not
very productive compared to recycling them. The out-of-the-box
settings allow the system to recycle three or so WAL segments.
Unless you're truly desperate for disk space you should not reduce
the default WAL settings.
regards, tom lane