AW: Size of /pgdata - Mailing list pgsql-admin

From William Sescu (Suva)
Subject AW: Size of /pgdata
Date
Msg-id GV0P278MB0244DE5A2049D0A42E471445E8E42@GV0P278MB0244.CHEP278.PROD.OUTLOOK.COM
Whole thread
In response to Re: Size of /pgdata  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Size of /pgdata
List pgsql-admin
In case you are using XFS, this might be related to the "Speculative preallocation" feature.
We saw the same behavior on Redhat 9, with PostgreSQL 18 and XFS.


https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/storage_administration_guide/migrating-ext4-xfs

Speculative preallocation

XFS uses speculative preallocation to allocate blocks past EOF as files are written. This avoids file fragmentation due
toconcurrent streaming write workloads on NFS servers. By default, this preallocation increases with the size of the
fileand will be apparent in "du" output. If a file with speculative preallocation is not dirtied for five minutes the
preallocationwill be discarded. If the inode is cycled out of cache before that time, then the preallocation will be
discardedwhen the inode is reclaimed.
 
If premature ENOSPC problems are seen due to speculative preallocation, a fixed preallocation amount may be specified
withthe -o allocsize=amount mount option.
 

See also "man xfs"

allocsize=size
Sets  the  buffered  I/O end-of-file preallocation size when doing delayed allocation writeout. Valid values for this
optionare page size (typically 4KiB) through to
 
1GiB, inclusive, in power-of-2 increments.

The default behavior is for dynamic end-of-file preallocation size, which uses a set of heuristics to optimise the
preallocationsize based on the current  allocation
 
patterns within the file and the access patterns to the file. Specifying a fixed allocsize value turns off the dynamic
behavior.


Cheers
William


-----Ursprüngliche Nachricht-----
Von: Laurenz Albe <laurenz.albe@cybertec.at>
Gesendet: Mittwoch, 17. Juni 2026 13:34
An: Raj <rajeshkumar.dba09@gmail.com>
Cc: Pgsql-admin <pgsql-admin@lists.postgresql.org>
Betreff: Re: Size of /pgdata



  ACHTUNG: Diese Nachricht kommt von extern. Seien Sie kritisch beim Öffnen von Links und Anhängen.




On Wed, 2026-06-17 at 11:47 +0530, Raj wrote:
> The file count is same between them..but the file size varies.
>
> For example, assume node1 has issue and node2 is clean.
>
> 1. On both nodes file count is 76
> 2. File size varies for some of them
>
> Each files are either 1GB or 2GB and some or them are 1.2gb or 1.5gb or between 1-2gb ....by looking at files..
>  In the problematic node, some of the 1gb files in node2  shows 2GB in node1...and also file size differences. making
thedifference.
 

That is highly suspicious.

What do you get if you run

  SHOW segment_size;

Unless you built PostgreSQL yourself after changing the segment size, it should be 1GB.  But then it would be
impossiblefor some segment to be bigger than 1GB.
 

Are you using some weird file system that reports file sizes wrongly?

What does "ls -l" on one of these big files show?

Yours,
Laurenz Albe



________________________________

Disclaimer:

Diese Nachricht und ihr eventuell angehängte Dateien sind nur für den Adressaten bestimmt. Sie kann vertrauliche oder
gesetzlichgeschützte Daten oder Informationen beinhalten. Falls Sie diese Nachricht irrtümlich erreicht hat, bitten wir
Siehöflich, diese unter Ausschluss jeglicher Reproduktion zu löschen und die absendende Person zu benachrichtigen.
Dankefür Ihre Hilfe.
 

This message and any attached files are for the sole use of the recipient named above. It may contain confidential or
legallyprotected data or information. If you have received this message in error, please delete it without making any
copieswhatsoever and notify the sender. Thank you for your assistance.
 

Attachment

pgsql-admin by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: Size of /pgdata
Next
From: Raj
Date:
Subject: Re: Size of /pgdata