Обсуждение: Re: pgbench with partitioned tables

Поиск
Список
Период
Сортировка

Re: pgbench with partitioned tables

От
Álvaro Herrera
Дата:
On 2025-Feb-03, Sergey Tatarintsev wrote:

> Thanks for the note. I changed the query in the patch (v2 patch attached)
> 
> Btw, an additional benefit from the patch is that we can use foreign tables
> (for example, to test postgres_fdw optimizations)

Good thought, and maybe it would be better if the new function was
"get_table_relkind" which just returns the char, and this check

> +    /* Use COPY with FREEZE on v14 and later for all regular tables */
> +    if ((PQserverVersion(con) >= 140000) && is_regular_table(con, table))
>              copy_statement_fmt = "copy %s from stdin with (freeze on)";

can be "&& get_table_relkind(con, table) == RELKIND_RELATION"

which I think is more natural.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/



Re: pgbench with partitioned tables

От
Melanie Plageman
Дата:
On Mon, Feb 3, 2025 at 7:23 AM Sergey Tatarintsev
<s.tatarintsev@postgrespro.ru> wrote:
>
> 03.02.2025 14:57, Álvaro Herrera пишет:
> > On 2025-Feb-03, Sergey Tatarintsev wrote:
> >
> >> Thanks for the note. I changed the query in the patch (v2 patch attached)
> >>
> >> Btw, an additional benefit from the patch is that we can use foreign tables
> >> (for example, to test postgres_fdw optimizations)
> > Good thought, and maybe it would be better if the new function was
> > "get_table_relkind" which just returns the char, and this check
> >
> >> +    /* Use COPY with FREEZE on v14 and later for all regular tables */
> >> +    if ((PQserverVersion(con) >= 140000) && is_regular_table(con, table))
> >>                      copy_statement_fmt = "copy %s from stdin with (freeze on)";
> > can be "&& get_table_relkind(con, table) == RELKIND_RELATION"
> >
> > which I think is more natural.
> >
> sounds reasonable.
>
> patch v3 attached

Okay, I've stared at this a bit, and it seems basically fine the way
it is (I might add a bit more whitespace, clean up the commit message,
etc). So I'm interested in committing it. I will admit that having
never committed anything to pgbench, I'm a bit nervous. So, give me a
couple days to work up the nerve.

- Melanie



Re: pgbench with partitioned tables

От
Álvaro Herrera
Дата:
On 2025-Feb-07, Melanie Plageman wrote:

> Okay, I've stared at this a bit, and it seems basically fine the way
> it is (I might add a bit more whitespace, clean up the commit message,
> etc). So I'm interested in committing it. I will admit that having
> never committed anything to pgbench, I'm a bit nervous. So, give me a
> couple days to work up the nerve.

Sounds good.  I only wanted to say that I would use PQexecParams()
instead of PQexec() in the new function, avoiding the psprintf and
pfree, and also that initializing relkind to RELKIND_RELATION is strange
and probably unnecessary.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)