Fabio Rueda Carrascosa <avances123@gmail.com> writes:
> Hello, I have a 9.1 cluster with 50 databases, only one table per db with
> 2000 rows only, but a lot of schema around each one (postgis databases)
> The old cluster size is 1GB
> du -chs /var/lib/postgresql/9.1/main/
> 1.1G
> now I run a pg_upgrade to 9.2 with hard link mode,
> pg_upgrade --link \
> --old-datadir=/var/lib/postgresql/9.1/main \
> --new-datadir=/var/lib/postgresql/9.2/main \
> --old-bindir=/usr/lib/postgresql/9.1/bin \
> --new-bindir=/usr/lib/postgresql/9.2/bin
> du -chs /var/lib/postgresql/9.2/main/
> 880M
> Is the expected behaviour? I can't double the space in production.
I don't think anybody actually answered your original question.
The above doesn't represent a doubling of disk space, it just shows that
"du" only tells you how much file space is linked into the directory
tree you ask it about. That is, there's lots of overlap between the
first and second du results. If you try "du" passing it both directory
trees together, it should give you a number for the total space
consumption that's not much more than 1.1G. (Depending on which version
of "du" you're using, you may need to give it an additional switch to
tell it not to double-count multiply-linked files.)
regards, tom lane