Reclaiming space for dropped database

Started by Alban Hertroysabout 7 years ago4 messagesgeneral
Jump to latest
#1Alban Hertroys
alban.hertroys@apollovredestein.com

Hi all,

Our current development database server is running a bit low on diskspace,
so I dropped an old but rather large database with the intention of
claiming back some space. However, the space remains claimed.

This server was upgraded from PG10 to PG11 using pg_upgrade's --link
option.

I see this after having dropped the (300+GB) database:
-bash-4.2$ du -d 1 -h
4.0K ./.cache
0 ./.config
4.0K ./9.6
376G ./10
72G ./11
447G .

The files of that database apparently still exist within the ./10
directory:
-bash-4.2$ du -d 1 -h ./10/data/
4.1G ./10/data/pg_wal
816K ./10/data/global
0 ./10/data/pg_commit_ts
0 ./10/data/pg_dynshmem
8.0K ./10/data/pg_notify
0 ./10/data/pg_serial
0 ./10/data/pg_snapshots
208K ./10/data/pg_subtrans
0 ./10/data/pg_twophase
16K ./10/data/pg_multixact
372G ./10/data/base
0 ./10/data/pg_replslot
0 ./10/data/pg_tblspc
3.5M ./10/data/pg_stat
0 ./10/data/pg_stat_tmp
4.0K ./10/data/pg_logical
96K ./10/data/log
688K ./10/data/pg_xact
376G ./10/data/

How do I reclaim that space?

Regards,
Alban Hertroys

Alban Hertroys
D: +31 (0)53 4 888 888 | T: +31 (0)53 4888 888 | E: alban.hertroys@apollovredestein.com
Apollo Vredestein B.V.| Ir. E.L.C. Schiffstraat 370, 7547 RD Enschede, The
Netherlands
Chamber of Commerce number: 34223268

The information contained in this e-mail is intended solely for the use of the
individual or entity to whom it is addressed. If you are not the intended
recipient, you are hereby notified that any disclosure, copying, distribution
or action in relation to the contents of this information is strictly
prohibited and may be unlawful and request you to delete this message and any
attachments and advise the sender by return e-mail. The confidentiality of this
message is not warranted. Apollo Vredestein and its subsidiaries rule out any
and every liability resulting from this or any other electronic transmission

Please consider the environment before printing this e-mail

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alban Hertroys (#1)
Re: Reclaiming space for dropped database

Alban Hertroys <alban.hertroys@apollovredestein.com> writes:

Our current development database server is running a bit low on diskspace,
so I dropped an old but rather large database with the intention of
claiming back some space. However, the space remains claimed.
This server was upgraded from PG10 to PG11 using pg_upgrade's --link
option.

If you used --link, then all the files would remain hard-linked from both
the old and new database directories. You've got to remove them from the
old DB directory as well.

There's not really any point in keeping around the source DB directory
once you've completed a --link migration. Starting the postmaster in
the old DB directory would be disastrous because the files are
inconsistent from its standpoint once the new postmaster has modified
them at all. (In fact, I think pg_upgrade intentionally makes the old
directory non-runnable to prevent that error.) So you might as well
just "rm -rf ./10", not only its biggest subdirectory.

regards, tom lane

#3Alban Hertroys
alban.hertroys@apollovredestein.com
In reply to: Tom Lane (#2)
Betr: Re: Reclaiming space for dropped database

"Tom Lane" <tgl@sss.pgh.pa.us> wrote on 2019-01-23 16:02:01:

Alban Hertroys <alban.hertroys@apollovredestein.com> writes:

Our current development database server is running a bit low on

diskspace,

so I dropped an old but rather large database with the intention of
claiming back some space. However, the space remains claimed.
This server was upgraded from PG10 to PG11 using pg_upgrade's --link
option.

If you used --link, then all the files would remain hard-linked from

both

the old and new database directories. You've got to remove them from

the

old DB directory as well.

There's not really any point in keeping around the source DB directory
once you've completed a --link migration. Starting the postmaster in
the old DB directory would be disastrous because the files are
inconsistent from its standpoint once the new postmaster has modified
them at all. (In fact, I think pg_upgrade intentionally makes the old
directory non-runnable to prevent that error.) So you might as well
just "rm -rf ./10", not only its biggest subdirectory.

That explains what I'm seeing. After creating a dump (better safe than
sorry), I'll remove that directory.

Thanks!

Regards,
Alban.

Alban Hertroys
D: +31 (0)53 4 888 888 | T: +31 (0)53 4888 888 | E: alban.hertroys@apollovredestein.com
Apollo Vredestein B.V.| Ir. E.L.C. Schiffstraat 370, 7547 RD Enschede, The
Netherlands
Chamber of Commerce number: 34223268

The information contained in this e-mail is intended solely for the use of the
individual or entity to whom it is addressed. If you are not the intended
recipient, you are hereby notified that any disclosure, copying, distribution
or action in relation to the contents of this information is strictly
prohibited and may be unlawful and request you to delete this message and any
attachments and advise the sender by return e-mail. The confidentiality of this
message is not warranted. Apollo Vredestein and its subsidiaries rule out any
and every liability resulting from this or any other electronic transmission

Please consider the environment before printing this e-mail

#4Jerry Sievers
gsievers19@comcast.net
In reply to: Tom Lane (#2)
Re: Reclaiming space for dropped database

Tom Lane <tgl@sss.pgh.pa.us> writes:

Alban Hertroys <alban.hertroys@apollovredestein.com> writes:

Our current development database server is running a bit low on diskspace,
so I dropped an old but rather large database with the intention of
claiming back some space. However, the space remains claimed.
This server was upgraded from PG10 to PG11 using pg_upgrade's --link
option.

If you used --link, then all the files would remain hard-linked from both
the old and new database directories. You've got to remove them from the
old DB directory as well.

There's not really any point in keeping around the source DB directory
once you've completed a --link migration. Starting the postmaster in
the old DB directory would be disastrous because the files are
inconsistent from its standpoint once the new postmaster has modified
them at all. (In fact, I think pg_upgrade intentionally makes the old
directory non-runnable to prevent that error.) So you might as well

Yeah. IIRC, it renames control to pg_control.old to avoid accidental
startup.

just "rm -rf ./10", not only its biggest subdirectory.

regards, tom lane

--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net