pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Corey Huinker <corey.huinker@gmail.com>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: Stephen Frost <sfrost@snowman.net>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>
Subject: Re: Statistics Import and Export
Date: Tue, 02 Apr 2024 18:18:53 -0400
Message-ID: <1846403.1712096333@sss.pgh.pa.us> (raw)
In-Reply-To: <06286ee47fa4b06b6e7f08da21958d7e35525ed4.camel@j-davis.com>
References: <Zei1xMGH8SJS9yoc@tamriel.snowman.net>
	<54f190b6c757da2a33cce811949e9dd9601fcba7.camel@j-davis.com>
	<1632327b74a734f8c434eb75e824160d2b06a697.camel@j-davis.com>
	<CADkLM=dOUfTtpmE70mx5SmdEs11hic61G-wPa45pB1iC3NRABg@mail.gmail.com>
	<16412b8b7ae443cb7470006beff3011927048860.camel@j-davis.com>
	<CADkLM=cq1n2wbxhV23pOeUKReBPZxZyELDsDJ3VAxkYBSVAe0g@mail.gmail.com>
	<CADkLM=d_WYoFq75eoNHso+9EFDi=Q2BtCmxQYMjrgLL4=v5dxw@mail.gmail.com>
	<1b1bd1ec39ab3de09a17bf7b241021067e5bd63c.camel@j-davis.com>
	<CADkLM=eJXPQD=pWwwm+4Y48haiMmznB8dCECNMrwr59niY8ESw@mail.gmail.com>
	<2bce855db8259c5672a09f863a307ca07b967b68.camel@j-davis.com>
	<CADkLM=dw=fkvPRmOw74UDYnLzXwkDyMSY1k2jsU5=xXBAj7Mpw@mail.gmail.com>
	<5e94c358caedf2a231dd71624c3578db7227a265.camel@j-davis.com>
	<CADkLM=dztWa9shWHyq=+rS9KvbZQ2v54tnOcYT+g8psf0B7w_A@mail.gmail.com>
	<CADkLM=fFwkd7VbO4SPCyX-2f-fyGraka5J+5fcp1QMrCefu68Q@mail.gmail.com>
	<CADkLM=cioQmOFh98qQmqVEkVPjLYszEhZtNtUbmmNAdHOSr3WQ@mail.gmail.com>
	<CAOuzzgpfm9hROr_g8L! ! ouvpOeqv4yxk3qXPXU9Sn2nnqzPpP5UA@mail.gmail.com>
	<718fa933c2c58d0ecc61995ab5c7ca1fe78d6369.camel@j-davis.com>
	<CADkLM=f9FOu9Z2GT1cbtRaffDvtXyUOuv2HMVw0=phYe2T2D9w@mail.gmail.com>
	<CABUevEz1gLOkWSh_Vd9LQh-JM4i=Mu7PVT9ffc77TmH0Zh3TzA@mail.gmail.com>
	<CADkLM=dTY5bkMB4WO0aTYEOP=re0_QjWfYyPd-A5-BvEQdn9cA@mail.gmail.com>
	<790773.1711910899@sss.pgh.pa.us>
	<8bc6ffe1e5abeac0fdde1a83d95409f0463af013.camel@j-davis.com>
	<1141637.1711994977@sss.pgh.pa.us>
	<CADkLM=f+29F1csUZ=7ic0dPwQgV2C1NJycb8A-rk8GQkxC=Jwg@mail.gmail.com>
	<1215956.1711999455@sss.pgh.pa.us>
	<CADkLM=crgW-p8EpR2QLnmRC7axFXeW-2QbKSb4jpuwoCaYqDEA@mail.gmail.com>
	<1321788.1712005745@sss.pgh.pa.us>
	<CADkLM=fpbw6EC3hW4N-RxwxMcNBH8F+M6atyiOapL-PkgfWZCg@mail.gmail.com>
	<1328631.1712008078@sss.pgh.pa.us>
	<CADkLM=daPdFB8V0tgFxK-dLowFsAEzWRWJHyxij7BG3kBjcouA@mail.gmail.com>
	<7d37175cd5b56ab04940ed6b5a72354ae90783ee.camel@j-davis.com>
	<CADkLM=dFrHKkMeBKwFJz4FsC0vTDmjoc3iy-+cfL=XKBAY5UjA@mail.gmail.com>
	<95a34a5131611e1a987a6fe538a! 44! 1c33ca52842.camel@j-davis.com>
	<1841621.1712093467@sss.pgh.pa.us>
	<06286ee47fa4b06b6e7f08da21958d7e35525ed4.camel@j-davis.com>

Jeff Davis <pgsql@j-davis.com> writes:
> We need to get the original element type on the import side somehow,
> right? Otherwise it will be hard to tell whether '{1, 2, 3, 4}' has
> element type "int4" or "text", which affects the binary representation
> of the anyarray value in pg_statistic.

Yeah, but that problem exists no matter what.  I haven't read enough
of the patch to find where it's determining that, but I assume there's
code in there to intuit the statistics storage type depending on the
table column's data type and the statistics kind.

> Either we need to get it at export time (which seems the most reliable
> in principle, but problematic for older versions) and pass it as an
> argument to pg_set_attribute_stats(); or we need to derive it reliably
> from the table schema on the destination side, right?

We could not trust the exporting side to tell us the correct answer;
for one reason, it might be different across different releases.
So "derive it reliably on the destination" is really the only option.

I think that it's impossible to do this in the general case, since
type-specific typanalyze functions can store pretty nearly whatever
they like.  However, the pg_stats view isn't going to show nonstandard
statistics kinds anyway, so we are going to be lossy for custom
statistics kinds.

			regards, tom lane





view thread (543+ messages)  latest in thread

Message-ID: <1846403.1712096333@sss.pgh.pa.us>
Permalink:  ../1846403.1712096333@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/1846403.1712096333@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, pgsql@j-davis.com, corey.huinker@gmail.com, magnus@hagander.net, sfrost@snowman.net, ashutosh.bapat.oss@gmail.com, boekewurm+postgres@gmail.com, smithpb2250@gmail.com, pgsql-hackers@lists.postgresql.org, tomas.vondra@enterprisedb.com
  Subject: Re: Statistics Import and Export
  In-Reply-To: <1846403.1712096333@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox