Re: Adding a LogicalRepWorker type field

2023-08-13 Thread Peter Smith
The main patch for adding the worker type enum has been pushed [1]. Here is the remaining (rebased) patch for changing some previous cascading if/else to switch on the LogicalRepWorkerType enum instead. PSA v8. -- [1] https://github.com/postgres/postgres/commit/2a8b40e3681921943a2989fd4ec6c

Re: Support to define custom wait events for extensions

2023-08-13 Thread Michael Paquier
On Mon, Aug 14, 2023 at 12:31:05PM +0900, Masahiro Ikeda wrote: > Thanks! I confirmed the changes, and all tests passed. Okay, cool. I got some extra time today and applied that, with a few more tweaks. -- Michael signature.asc Description: PGP signature

Re: pgbench with libevent?

2023-08-13 Thread Tatsuo Ishii
> On Mon, Aug 14, 2023 at 12:35 PM Fabien COELHO wrote: >> > Pgbench is managing clients I/Os manually with select or poll. Much of this >> > could be managed by libevent. >> >> Or maybe libuv (used by nodejs?). >> >> From preliminary testing libevent seems not too good at fine grain time >> manag

Re: [PoC] pg_upgrade: allow to upgrade publisher node

2023-08-13 Thread Amit Kapila
On Thu, Aug 10, 2023 at 8:32 PM Hayato Kuroda (Fujitsu) wrote: > > Based on recent discussions, I updated the patch set. I did not reply one by > one > because there are many posts, but thank you for giving many suggestion! > > Followings shows what I changed. > > 1. > This feature is now enabled

Re: [PoC] pg_upgrade: allow to upgrade publisher node

2023-08-13 Thread Amit Kapila
On Mon, Aug 14, 2023 at 7:57 AM Masahiko Sawada wrote: > > On Sat, Aug 12, 2023, 15:20 Amit Kapila wrote: >> >> I don't think we need the complexity of version-specific checks if we >> do what we do in get_control_data(). Basically, invoke >> version-specific pg_replslotdata to get version-specif

Re: WIP: new system catalog pg_wait_event

2023-08-13 Thread Michael Paquier
On Thu, Aug 10, 2023 at 08:09:34PM +0200, Drouvot, Bertrand wrote: > Agree that's worth it given the fact that iterating one more time is not that > costly here. I have reviewed v4, and finished by putting my hands on it to see what I could do. +printf $wc "\telement = (wait_event_ele

Re: Naive handling of inequalities by nbtree initial positioning code

2023-08-13 Thread Peter Geoghegan
On Sun, Aug 13, 2023 at 5:50 PM Peter Geoghegan wrote: > All that it would take to fix the problem is per-attribute > BTScanInsertData.nextkey values. There is no reason why "nextkey" > semantics should only work for the last attribute in the insertion > scan key. Under this scheme, _bt_first() wo

proposal: jsonb_populate_array

2023-08-13 Thread Pavel Stehule
Hi Now, there is no native functionality for conversion from json(b) value to some array. https://stackoverflow.com/questions/76894960/unable-to-assign-text-value-to-variable-in-pgsql/76896112#76896112 It should not be too hard to implement native function jsonb_populate_array jsonb_populate_ar

Re: Support to define custom wait events for extensions

2023-08-13 Thread Masahiro Ikeda
On 2023-08-14 08:06, Michael Paquier wrote: On Thu, Aug 10, 2023 at 05:37:55PM +0900, Michael Paquier wrote: This looks correct, but perhaps we need to think harder about the custom event names and define a convention when more of this stuff is added to the core modules. Okay, I have put my ha

Re: pgbench with libevent?

2023-08-13 Thread Thomas Munro
On Mon, Aug 14, 2023 at 12:35 PM Fabien COELHO wrote: > > Pgbench is managing clients I/Os manually with select or poll. Much of this > > could be managed by libevent. > > Or maybe libuv (used by nodejs?). > > From preliminary testing libevent seems not too good at fine grain time > management whi

Re: Report planning memory in EXPLAIN ANALYZE

2023-08-13 Thread Andrey Lepikhov
On 14/8/2023 06:53, David Rowley wrote: On Thu, 10 Aug 2023 at 20:33, Ashutosh Bapat wrote: My point is what's relevant here is how much net memory planner asked for. But that's not what your patch is reporting. All you're reporting is the difference in memory that's *currently* palloc'd from

Extending SMgrRelation lifetimes

2023-08-13 Thread Thomas Munro
Hi, SMgrRelationData objects don't currently have a defined lifetime, so it's hard to know when the result of smgropen() might become a dangling pointer. This has caused a few bugs in the past, and the usual fix is to just call smgropen() more often and not hold onto pointers. If you're doing th

Re: [PoC] pg_upgrade: allow to upgrade publisher node

2023-08-13 Thread Masahiko Sawada
On Sat, Aug 12, 2023, 15:20 Amit Kapila wrote: > On Fri, Aug 11, 2023 at 11:38 PM Bruce Momjian wrote: > > > > On Fri, Aug 11, 2023 at 10:46:31AM +0530, Amit Kapila wrote: > > > On Thu, Aug 10, 2023 at 7:07 PM Masahiko Sawada > wrote: > > > > What I imagined is that we do this check before > >

Re: pg_waldump vs. all-zeros WAL files; server creation of such files

2023-08-13 Thread Michael Paquier
On Sat, Aug 12, 2023 at 08:15:31PM -0700, Noah Misch wrote: > The attached 010_zero.pl, when run as part of the pg_waldump test suite, fails > at today's master (c36b636) and v15 (1bc19df). It passes at v14 (5a32af3). > Command "pg_waldump --start 0/0100 --end 0/01000100" fails as follows: >

Re: Naive handling of inequalities by nbtree initial positioning code

2023-08-13 Thread Peter Geoghegan
On Sun, Aug 13, 2023 at 5:50 PM Peter Geoghegan wrote: > select * from tenk1 > where > two = 1 > and four = 3 > and hundred = 91 > and thousand = 891 > and tenthous = 1891; > > The query returns one row, and touches 3 buffers/pages (according to > EXPLAIN ANALYZE with buffers). The overh

Naive handling of inequalities by nbtree initial positioning code

2023-08-13 Thread Peter Geoghegan
Suppose that I create the following index on the tenk1 table from the regression tests: create index on tenk1 (two, four, hundred, thousand, tenthous); Now the following query will be able to use index quals for each column that appear in my composite index: select * from tenk1 where two = 1

Re: Make psql's qeury canceling test simple by using signal() routine of IPC::Run

2023-08-13 Thread Fabien COELHO
Bonjour Michaël, On Sun, Aug 13, 2023 at 11:22:33AM +0200, Fabien COELHO wrote: Test run is ok on my Ubuntu laptop. I have a few comments about this patch. Argh, sorry! I looked at what was removed (a lot) from the previous version, not what was remaining and should also have been remove

Re: pgbench with libevent?

2023-08-13 Thread Fabien COELHO
Pgbench is managing clients I/Os manually with select or poll. Much of this could be managed by libevent. Or maybe libuv (used by nodejs?). From preliminary testing libevent seems not too good at fine grain time management which are used for throttling, whereas libuv advertised that it is

Re: Report planning memory in EXPLAIN ANALYZE

2023-08-13 Thread David Rowley
On Thu, 10 Aug 2023 at 20:33, Ashutosh Bapat wrote: > My point is what's relevant here is how much net memory planner asked > for. But that's not what your patch is reporting. All you're reporting is the difference in memory that's *currently* palloc'd from before and after the planner ran. If w

Re: run pgindent on a regular basis / scripted manner

2023-08-13 Thread Michael Paquier
On Sun, Aug 13, 2023 at 10:33:21AM -0400, Andrew Dunstan wrote: > After I'd been caught by this once or twice I implemented a git hook test > for that too - in fact it was the first hook I did. It's not perfect but > it's saved me a couple of times: > > check_catalog_version () { I find that pret

Re: Make psql's qeury canceling test simple by using signal() routine of IPC::Run

2023-08-13 Thread Michael Paquier
On Sun, Aug 13, 2023 at 11:22:33AM +0200, Fabien COELHO wrote: > Test run is ok on my Ubuntu laptop. I have a few comments about this patch. On HEAD and even after this patch, we still have the following: SKIP:

Re: Support to define custom wait events for extensions

2023-08-13 Thread Michael Paquier
On Thu, Aug 10, 2023 at 05:37:55PM +0900, Michael Paquier wrote: > This looks correct, but perhaps we need to think harder about the > custom event names and define a convention when more of this stuff is > added to the core modules. Okay, I have put my hands on that, fixing a couple of typos, pol

Re: run pgindent on a regular basis / scripted manner

2023-08-13 Thread Andrew Dunstan
On 2023-08-12 Sa 20:53, Peter Geoghegan wrote: On Sat, Aug 12, 2023 at 5:20 PM Tom Lane wrote: Hm. I was envisioning that we should expect committers to deal with this, not original patch submitters. So that's an argument against including it in the CI tests. But I'm in favor of anything we

pgbench with libevent?

2023-08-13 Thread Fabien COELHO
Hello devs, Pgbench is managing clients I/Os manually with select or poll. Much of this could be managed by libevent. Pros: 1. libevent is portable, stable, and widely used (eg Chromium, Memcached, PgBouncer). 2. libevent implements more I/O wait methods, which may be more efficient on so

Re: pgbench: allow to exit immediately when any client is aborted

2023-08-13 Thread Fabien COELHO
Hello Yugo-san, I attached the updated patch v3 including changes above, a test, and fix of the typo you pointed out. I'm sorry but the test in the previous patch was incorrect. I attached the correct one. About pgbench exit on abort v3: Patch does not "git apply", but is ok with "patch"

Re: Make psql's qeury canceling test simple by using signal() routine of IPC::Run

2023-08-13 Thread Fabien COELHO
Hello Yugo-san, Currently, the psql's test of query cancelling (src/bin/psql/t/020_cancel.pl) gets the PPID of a running psql by using "\!" meta command, and sends SIGINT to the process by using "kill". However, IPC::Run provides signal() routine that sends a signal to a running process, so I

Re: Ignore 2PC transaction GIDs in query jumbling

2023-08-13 Thread Michael Paquier
On Sun, Aug 13, 2023 at 02:48:22PM +0800, Julien Rouhaud wrote: > On Sun, Aug 13, 2023 at 03:25:33PM +0900, Michael Paquier wrote: >> Perhaps not as much, actually, because I was just reminded that >> DEALLOCATE is something that pg_stat_statements ignores. So this >> makes harder the introduction