How to delete column level Stats/Histogram

Started by Wong, Kam Fook (TR Technology)almost 2 years ago3 messagesgeneral
Jump to latest
#1Wong, Kam Fook (TR Technology)
kamfook.wong@thomsonreuters.com

1. Is there a way to delete a specific column level stats/histogram. The following approach does not work.

alter table abc alter column bg_org_partner set statistics 0;

analyze abc;

select *

FROM pg_stats where tablename in ('abc' ) and attname = 'bg_org_partner';

the most_common_vals remain and most_common_freqs remain the same.

1. Any other ways or workaround such as wiping out a specific table level stat, then restore the stats but minus 1 column. And the future vacuum analyze/analyze will not be updating that specific column stat.

Thank you
This e-mail is for the sole use of the intended recipient and contains information that may be privileged and/or confidential. If you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website: https://www.thomsonreuters.com/en/resources/disclosures.html

#2David Rowley
dgrowleyml@gmail.com
In reply to: Wong, Kam Fook (TR Technology) (#1)
Re: How to delete column level Stats/Histogram

On Fri, 31 May 2024 at 09:28, Wong, Kam Fook (TR Technology)
<kamfook.wong@thomsonreuters.com> wrote:

Is there a way to delete a specific column level stats/histogram. The following approach does not work.

alter table abc alter column bg_org_partner set statistics 0;
analyze abc;

You'd have to:

DELETE FROM pg_statistic WHERE starelid = 'abc'::regclass and
staattnum = (SELECT attnum FROM pg_attribute WHERE attrelid =
'abc'::regclass AND attname = 'bg_org_partner');

to get rid of it.

David

#3David Rowley
dgrowleyml@gmail.com
In reply to: Wong, Kam Fook (TR Technology) (#1)
Re: [EXT] Re: How to delete column level Stats/Histogram

(please keep communication on the list)

On Fri, 31 May 2024 at 13:43, Wong, Kam Fook (TR Technology)
<kamfook.wong@thomsonreuters.com> wrote:

Silly question why did I run into this problem below? Will the autovacuum analyze abc reset it back which I don't want it to.

DELETE FROM pg_statistic WHERE starelid = 'abc'::regclass and staattnum = (SELECT attnum FROM pg_attribute WHERE attrelid = 'abc'::regclass AND attname = 'bg_org_partner');

SQL Error [42P01]: ERROR: relation "abc" does not exist
Position: 52

The schema for the abc table will need to be in your search_path.
You'll need to be connected to the correct database too.

David