Alexander Staubo <alex@purefiction.net> writes:
> You could count the disk space usage of the actual stored tuples,
> though this will necessarily be inexact:
> http://www.postgresql.org/docs/8.1/static/diskusage.html
> Or you could count the size of the physical database files (/var/lib/
> postgresql or wherever). While these would be estimates, you could at
> least guarantee that the dump would not *exceed* the esimtate.
You could guarantee no such thing; consider compression of TOAST values.
Even for uncompressed data, datatypes such as int and float can easily
print as more bytes than they occupy on-disk.
Given all the non-data overhead involved (eg for indexes), it's probably
unlikely that a text dump would exceed the "du" size of the database,
but it's far from "guaranteed".
regards, tom lane