Re: how to shrink pg_attribute table in some database

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Can't, it generates huge IO spikes.

But....

Few hours ago i manually started vacuum verbose on pg_attribute, now its finished and i have some outputs:

INFO: "pg_attribute": found 554728466 removable, 212058 nonremovable row versions in 44550921 out of 49326696 pages DETAIL: 178215 dead row versions cannot be removed yet. There were 53479 unused item pointers. 0 pages are entirely empty. CPU 1097.53s/1949.50u sec elapsed 6337.86 sec. Query returned successfully with no result in 01:47:3626 hours.

what do you think?

select count(*) on pg_attribute returns:
158340 rows

So as i understand vacuum full will create new pg_attribute and will wrote those amount of "valid" rows, but still it will scan 300GB old table?
So estimate will be even ~same compering with regular vacuum?
 

2018-03-26 17:17 GMT+03:00 hubert depesz lubaczewski <depesz@xxxxxxxxxx>:
On Mon, Mar 26, 2018 at 05:15:14PM +0300, Artem Tomyuk wrote:
> For now pg_attribute bloated to 300GB in size, and we have only 260GB's of
> free space on disk.
> In normal situation pg_attribute takes 50mb in size for our DB...
> Can we assume that if we will run vacuum full on pg_attribute it will take
> additional 50MB on disk?

You can estimate by doing:

create table z as select * from pg_Attribute;

and then checking size of z.

bloat there suggests that you have huge churn in tables - like: create
table, drop table, lots of times.

Best regards,

depesz



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux