pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Tom Lane <tgl@sss.pgh.pa.us>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: James Finnerty <jfinnert@amazon.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: postgres_fdw: using TABLESAMPLE to collect remote sample
Date: Fri, 06 Jan 2023 11:58:52 -0500
Message-ID: <3013665.1673024332@sss.pgh.pa.us> (raw )
In-Reply-To: <4ee816f5-6146-7745-a6b4-f38a1b24105a@enterprisedb.com >
References: <151e835f-55d6-ddbc-b5b4-07ee606aba44@enterprisedb.com >
<03182011-10a4-97b4-7c70-d99aa1c11eed@enterprisedb.com >
<167112207543.1120.12195641719862911275.pgcf@coridan.postgresql.org >
<3377008.1671122816@sss.pgh.pa.us >
<cd3f2fda-d4cc-4371-210f-fc339d53b885@enterprisedb.com >
<6da357b0-fdd3-095d-a06c-87666f4a5a8c@enterprisedb.com >
<951485.1672461744@sss.pgh.pa.us >
<233ee0b3-4da0-3370-cd0b-1b8528851ddd@enterprisedb.com >
<1040922.1672507431@sss.pgh.pa.us >
<d13d28b9-30d0-27e8-d58e-d3e0c76b3bda@enterprisedb.com >
<3d719e62-64d2-5184-eebf-6128bcb398e2@enterprisedb.com >
<2813656.1672952711@sss.pgh.pa.us >
<3e8cca01-f102-d4b9-abe9-ed7b5e938323@enterprisedb.com >
<2837327.1672955815@sss.pgh.pa.us >
<4ee816f5-6146-7745-a6b4-f38a1b24105a@enterprisedb.com >
Tomas Vondra <tomas.vondra@enterprisedb.com> writes:
> The one difference is that I realized the relkind check does not
> actually say we can't do sampling - it just means we can't use
> TABLESAMPLE to do it. We could still use "random()" ...
> Furthermore, I don't think we should silently disable sampling when the
> user explicitly requests TABLESAMPLE by specifying bernoulli/system for
> the table - IMHO it's less surprising to just fail in that case.
Agreed on both points. This patch looks good to me.
> Of course, all relkinds that don't support TABLESAMPLE currently have
> reltuples value that will disable sampling anyway (e.g. views have -1).
> So we won't actually fallback to random() anyway, because we can't
> calculate the sample fraction.
> That's a bit annoying for foreign tables pointing at a view, which is a
> more likely use case than table pointing at a sequence.
Right, that's a case worth being concerned about.
> But I realized we could actually still do "random()" sampling:
> SELECT * FROM t ORDER BY random() LIMIT $X;
Hmm, interesting idea, but it would totally bollix our correlation
estimates. Not sure that those are worth anything for remote views,
but still...
regards, tom lane
view thread (35+ messages) latest in thread
Message-ID: <3013665.1673024332@sss.pgh.pa.us>
Permalink: ../3013665.1673024332@sss.pgh.pa.us/
Also on: postgresql.org/message-id/3013665.1673024332@sss.pgh.pa.us
copy link · copy postgr.es
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, tomas.vondra@enterprisedb.com, jfinnert@amazon.com, pgsql-hackers@lists.postgresql.org
Subject: Re: postgres_fdw: using TABLESAMPLE to collect remote sample
In-Reply-To: <3013665.1673024332@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