On Wed, Mar 16, 2016 at 2:27 PM, drum.lu...@gmail.com <drum.lu...@gmail.com>
wrote:

>
>
> On 17 March 2016 at 10:21, David G. Johnston <david.g.johns...@gmail.com>
> wrote:
>
>> On Wed, Mar 16, 2016 at 1:59 PM, drum.lu...@gmail.com <
>> drum.lu...@gmail.com> wrote:
>>
>>>
>>> 1 - The problem here is that a VACUUM FULL will lock all the DB to
>>> wirte, am I right? My DB is 1.7 TB, so it will take a while and the System
>>> can't be offline
>>>
>>>    1. Migrate the files to the NFS server
>>>    2. Delete the schema from the MASTER DB
>>>    3. Put the slaves into read-only servers
>>>    4. Run Vacuum FULL into the MASTER DB
>>>    5. Once the vacuum is done, do a DUMP from the MASTER to the slaves
>>>    (excluding the GORFS schema of course)
>>>
>>>
>> ​If you are removing the entire object there should be no cause to VACUUM
>> FULL.  A vacuum full reclaims unused space ​*within a given relation.*
>>
>> ​Both DROP TABLE and TRUNCATE have the effect of (near) immediately
>> ​freeing up the disk spaced used by the named table and returning it to the
>> operating system.
>>
>> ​You want to use VACUUM FULL tablename; if you remove a significant chuck
>> of a table using DELETE or UPDATE and want to reclaim the spaced that was
>> occupied by the older version of the ​row within "tablename".
>>
>> VACUUM FULL; simply does this for all tables - I'm not sure when locks
>> are taken and removed.  likely only the actively worked on tables are
>> locked - but the I/O hit is global so targeted locking only buys you so
>> much.
>>
>> David J.
>>
>>
>>
>
> I see..
>
> so in your opinion a DROP SCHEMA and maybe a VACUUM (not full) would be
> enough?
>
>
​I don't deal with Hot Standby's in my day-to-day but if you DROP SCHEMA
all of the spaced consumed by indexes and tables in that schema will be
freed.  The vacuum might make a small difference in performance on the
system catalogs (pg_class, stats, etc)  that were updated but with respect
to the dropped schema there won't be anything present there for vacuum to
touch.

Create and populate a dummy table in a test setup, measure the HD space
taken in PGDATA, then drop it and measure again to see it in action.

I've only done this using "TRUNCATE" - I've got a system with space
constraints a the same kind of "file data" table and freed up around 20GB
with a single fast truncate (though ensuring FKs wouldn't be a problem was
fun...).

David J.

Reply via email to