Обсуждение: Re: pgbench with partitioned tables
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/
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
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)