Re: UUID v7

2025-01-30 Thread Andrey Borodin
> On 31 Jan 2025, at 00:54, Masahiko Sawada wrote: > > I like this idea. Would you like to write a patch, or shall I? I propose to separate milliseconds from nanoseconds. Please find attached implementation of this. With this patch we can generate correct UUIDs in a very distant future. postg

Re: Conflict detection for update_deleted in logical replication

2025-01-30 Thread Amit Kapila
On Fri, Jan 31, 2025 at 4:10 AM Masahiko Sawada wrote: > > I have one question about the 0004 patch; it implemented > max_conflict_retntion_duration as a subscription parameter. But the > launcher invalidates the pg_conflict_detection slot only if all > subscriptions with retain_conflict_info stop

Re: why there is not VACUUM FULL CONCURRENTLY?

2025-01-30 Thread Antonin Houska
Alvaro Herrera wrote: > On 2025-Jan-30, Michael Banck wrote: > > > > I haven't addressed the problem of a new command yet - for that I'd like > > > to > > > see some sort of consensus, so that I do not have to do all the related > > > changes many times. > > > > Well, looks like this patch-set

Minor fix in pg_buffercache_evict documentation

2025-01-30 Thread Ashutosh Bapat
Hi All, All the functions in pg_buffercache module have their names suffixed with () and also use tag in the documentation, except pg_buffercache_evict(). PFA patch to fix the style. With this change, the index entry and the section tile is displayed as "The pg_buffercache_evict() Function" instea

Re: [PATCH] Optionally record Plan IDs to track plan changes for a query

2025-01-30 Thread Michael Paquier
On Thu, Jan 30, 2025 at 09:19:49PM -0800, Lukas Fittl wrote: > I'd be happy to tackle that - were you thinking to simply move any comments > before the field, in each case where we're adding an annotation? Yes. > Separately I've been thinking how we could best have a discussion/review on > whethe

Re: Improve error handling for invalid slots and ensure a same 'inactive_since' time for inactive slots

2025-01-30 Thread Amit Kapila
On Fri, Jan 31, 2025 at 6:43 AM Peter Smith wrote: > > Anyway, please consider it. The recovery and subscription TAP test are > working for me. > Your fix looks good to me. I have pushed the patch along with that. Thanks. -- With Regards, Amit Kapila.

Re: [PATCH] Optionally record Plan IDs to track plan changes for a query

2025-01-30 Thread Lukas Fittl
On Thu, Jan 30, 2025 at 8:37 PM Michael Paquier wrote: > After thinking more about this one, I still want this toy and hearing > nothing I have applied it, with a second commit for the addition in > injection_points to avoid multiple bullet points in a single commit. > Thanks for committing! I h

EvictUnpinnedBuffer and buffer free list

2025-01-30 Thread Ashutosh Bapat
Hi All, EvictUnpinnedBuffer() calls InvalidateVictimBuffer() followed by UnpinBuffer() before returning. None of those functions put the buffer back into the free list. Its freeNext remains set to FREENEXT_NOT_IN_LIST. I think then that buffer will never be used and lost forever. I know that that f

Re: Introduce XID age and inactive timeout based replication slot invalidation

2025-01-30 Thread Peter Smith
Hi Nisha. Here are some review comments for patch v65-0002 == src/backend/replication/slot.c ReportSlotInvalidation: 1. + + case RS_INVAL_IDLE_TIMEOUT: + Assert(inactive_since > 0); + /* translator: second %s is a GUC variable name */ + appendStringInfo(&err_detail, + _("The slot has remain

Re: Restrict publishing of partitioned table with a foreign table as partition

2025-01-30 Thread Sergey Tatarintsev
30.01.2025 19:02, Shlok Kyal пишет: On Wed, 29 Jan 2025 at 19:21, Sergey Tatarintsev wrote: 29.01.2025 12:16, Shlok Kyal пишет: Hi, As part of a discussion in [1], I am starting this thread to address the issue reported for foreign tables. Logical replication of foreign tables is not suppo

Re: Proposal to Enable/Disable Index using ALTER INDEX (with patch)

2025-01-30 Thread Sami Imseih
> I had the "BEGIN; ALTER INDEX; EXPLAIN; ROLLBACK;" scenario in mind, but > didn't realise we acquire an AccessExclusiveLock on the index. Therefore, it's > not possible to change the visibility within a single transaction > unless you don’t mind blocking all access to the relation. > > I read

Re: Error in StrategySyncStart() prologue

2025-01-30 Thread Ashutosh Bapat
On Fri, Jan 31, 2025 at 7:38 AM Michael Paquier wrote: > > On Thu, Jan 30, 2025 at 05:36:32PM +0900, Michael Paquier wrote: > > Indeed, your suggestion sounds right. StrategySyncStart() is only > > used in BgBufferSync() for the background writer since 9cd00c457e6a, > > and this commit seems to h

Re: Non-text mode for pg_dumpall

2025-01-30 Thread jian he
hi. -extern void RestoreArchive(Archive *AHX); +extern void RestoreArchive(Archive *AHX, bool append_data); Can we spare some words to explain the purpose of append_data. in get_dbname_oid_list_from_mfile pg_log_info("map.dat file is not present in dump of pg_dumpall, so nothing to resto

Re: Compression of bigger WAL records

2025-01-30 Thread wenhui qiu
Hi Andery I have a question ,If wal_compression_threshold is set to more than the block size of the wal log, then the FPI is not compressed, and if so, it might make sense to have a maximum value of this parameter that does not exceed the block size of the wal log? Best regards On Thu, Jan

Re: Skip collecting decoded changes of already-aborted transactions

2025-01-30 Thread Peter Smith
On Fri, Jan 31, 2025 at 11:04 AM Masahiko Sawada wrote: > > On Wed, Jan 29, 2025 at 9:32 PM Peter Smith wrote: > > > > == > > .../replication/logical/reorderbuffer.c > > > > ReorderBufferCheckAndTruncateAbortedTXN: > > > > 2. > > It seemed tricky that the only place that is setting the > > RB

Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options

2025-01-30 Thread Tatsuo Ishii
> I've looked at it again and I think the code is correct, Good news! I will look into your explanation. > but I > miswrote that the array needs to be sorted. The above query returns: > x | y | nth_value > ---+---+--- > 1 | 1 | 2 > 2 | 2 | 1 > 3 | | 2 > 4 |

Re: postgresql.conf.sample ordering for IO, worker related GUCs

2025-01-30 Thread Andres Freund
Hi On January 30, 2025 8:55:36 PM EST, Tom Lane wrote: >Andres Freund writes: >> While working on polishing the AIO patchset, I was trying to figure out where >> to fit the new GUCs. So far I had a new "top-level" #--- style section named >> "WIP AIO GUC docs" which I suspect you all won't let m

Re: Introduce XID age and inactive timeout based replication slot invalidation

2025-01-30 Thread Nisha Moond
On Tue, Jan 28, 2025 at 5:28 PM Nisha Moond wrote: > > On Tue, Jan 28, 2025 at 3:26 PM Amit Kapila wrote: > > > > On Mon, Dec 30, 2024 at 11:05 AM Peter Smith wrote: > > > > > > I think we are often too quick to throw out perfectly good tests. > > > Citing that some similar GUCs don't do testing

Re: Error in StrategySyncStart() prologue

2025-01-30 Thread Michael Paquier
On Thu, Jan 30, 2025 at 05:36:32PM +0900, Michael Paquier wrote: > Indeed, your suggestion sounds right. StrategySyncStart() is only > used in BgBufferSync() for the background writer since 9cd00c457e6a, > and this commit seems to have missed the comment update. And done. -- Michael signature.a

Re: postgresql.conf.sample ordering for IO, worker related GUCs

2025-01-30 Thread Tom Lane
Andres Freund writes: > While working on polishing the AIO patchset, I was trying to figure out where > to fit the new GUCs. So far I had a new "top-level" #--- style section named > "WIP AIO GUC docs" which I suspect you all won't let me get away with. > There is an existing (sub-)section which a

Re: Using Expanded Objects other than Arrays from plpgsql

2025-01-30 Thread Tom Lane
Pavel Borisov writes: > I started looking at the patchset. > Recently it got conflicts with changes to yyparse (473a575e05979b4db). > Could you rebase it and also do naming changes proposed by Andrew > Borodin, which I definitely agree with? Hmm, it seemed to still apply for me. But anyway, I ne

postgresql.conf.sample ordering for IO, worker related GUCs

2025-01-30 Thread Andres Freund
Hi, While working on polishing the AIO patchset, I was trying to figure out where to fit the new GUCs. So far I had a new "top-level" #--- style section named "WIP AIO GUC docs" which I suspect you all won't let me get away with. There is an existing (sub-)section which already has a few related

Re: Improve error handling for invalid slots and ensure a same 'inactive_since' time for inactive slots

2025-01-30 Thread Peter Smith
On Fri, Jan 31, 2025 at 11:19 AM Peter Smith wrote: ... > On Fri, Jan 31, 2025 at 1:02 AM vignesh C wrote: > > > > On Thu, 30 Jan 2025 at 16:02, Amit Kapila wrote: > > > > > > I have made minor changes in the attached. The main change is to raise > > > an ERROR before we broadcast to let everybo

Re: Skip collecting decoded changes of already-aborted transactions

2025-01-30 Thread Masahiko Sawada
On Wed, Jan 29, 2025 at 9:32 PM Peter Smith wrote: > > Some comments for patch v17-0001. Thank you for reviewing the patch! > > == > Commit message. > > 1. > typo /noticeble/noticeable/ Fixed. > > == > .../replication/logical/reorderbuffer.c > > ReorderBufferCheckAndTruncateAbortedTXN:

Re: Improve error handling for invalid slots and ensure a same 'inactive_since' time for inactive slots

2025-01-30 Thread Peter Smith
Some review comments for patch v4-0001. == src/backend/replication/logical/logical.c CreateDecodingContext: 1. Assert(MyReplicationSlot->data.invalidated == RS_INVAL_NONE); Assert(MyReplicationSlot->data.restart_lsn != InvalidXLogRecPtr); ~ These lines are adjacent to the patch change. It'

Re: FileFallocate misbehaving on XFS

2025-01-30 Thread Michael Harris
Hello All An update on this. Earlier in this thread, Jakub had suggested remounting the XFS filesystems with the mount option allocsize=1m. I've done that now, on a few systems that have been experiencing this error multiple times a day, and it does seem to stop the errors from occurring. It has

Re: BitmapHeapScan streaming read user and prelim refactoring

2025-01-30 Thread Melanie Plageman
On Tue, Mar 19, 2024 at 4:34 PM Tomas Vondra wrote: > > On 3/18/24 16:55, Tomas Vondra wrote: > > > > ... > > > > OK, I've restarted the tests for only 0012 and 0014 patches, and I'll > > wait for these to complete - I don't want to be looking for patterns > > until we have enough data to smooth t

Re: Optimization for lower(), upper(), casefold() functions.

2025-01-30 Thread Heikki Linnakangas
On 30/01/2025 15:39, Alexander Borisov wrote: The code is fixed, now the patch passes all tests. Change from the original patch (v1): Reduce the main table from 3003 to 1677 (duplicates removed) records. Added records from 0x00 to 0x80 for fast path. Renamed get_case() function to pg_unicode_cas

Re: Conflict detection for update_deleted in logical replication

2025-01-30 Thread Masahiko Sawada
On Thu, Jan 23, 2025 at 3:47 AM Zhijie Hou (Fujitsu) wrote: > > On Wednesday, January 22, 2025 7:54 PM Zhijie Hou (Fujitsu) > wrote: > > On Saturday, January 18, 2025 11:45 AM Zhijie Hou (Fujitsu) > > wrote: > > > I think invalidating the slot is OK and we could also let the apply > > > worker

Re: Adding comments to help understand psql hidden queries

2025-01-30 Thread David Christensen
On Sat, Jan 18, 2025 at 2:37 PM Tom Lane wrote: > > David Christensen writes: > > Any further concerns/issues with this patch that I can address to help > > move it forward? > > I got around to looking at this finally --- sorry that it's been on > the back burner for so long. I think this is bas

Re: BitmapHeapScan streaming read user and prelim refactoring

2025-01-30 Thread Melanie Plageman
On Thu, Jan 30, 2025 at 3:02 AM Nazir Bilal Yavuz wrote: > > On Thu, 30 Jan 2025 at 00:38, Melanie Plageman > wrote: > > > > On Wed, Jan 22, 2025 at 4:24 PM Melanie Plageman > > wrote: > > > > > > 0001 is just the refactoring to push the setup into a helper. > > > 0002-0003 are required refactor

Re: Using Expanded Objects other than Arrays from plpgsql

2025-01-30 Thread Pavel Borisov
Hi, Michel and Tom! On Sun, 26 Jan 2025 at 23:04, Tom Lane wrote: > > Andrey Borodin writes: > > On 26 Jan 2025, at 20:37, Tom Lane wrote: > >> Maybe we should recast it as an action. What do you think of > >> "mark_expr_as_assignment_source"? > > > Sounds better to me. I found no examples of

Re: UUID v7

2025-01-30 Thread Masahiko Sawada
On Thu, Jan 30, 2025 at 12:59 AM Andrey Borodin wrote: > > > > > On 12 Dec 2024, at 23:08, Masahiko Sawada wrote: > > > > Pushed > > Hi Masahiko! > > I’ve found some inconsistency in handling of overflow. I’m not sure we should > handle it, but anyway. Thank you for the report! > > postgres=#

Re: JIT: The nullness of casetest.value can be determined at the JIT compile time.

2025-01-30 Thread Tom Lane
I wrote: > Agreed. I spent some time trying to do it better, with results > shown at [1]. If we adopt that idea, then the executor's support > for CaseTestExpr will go away, so there's little point in pursuing > that half of the patch given here. However, I concluded that there's > insufficient

Re: Make COPY format extendable: Extract COPY TO format implementations

2025-01-30 Thread Sutou Kouhei
Hi, In "Re: Make COPY format extendable: Extract COPY TO format implementations" on Tue, 28 Jan 2025 15:00:03 -0800, Masahiko Sawada wrote: > While 0001 and 0002 look good to me overall, we still need to polish > subsequent patches. Here are review comments: I attached the v29 patch set t

Re: why there is not VACUUM FULL CONCURRENTLY?

2025-01-30 Thread Alvaro Herrera
On 2025-Jan-30, Michael Banck wrote: > > I haven't addressed the problem of a new command yet - for that I'd like to > > see some sort of consensus, so that I do not have to do all the related > > changes many times. > > Well, looks like this patch-set is blocked on the bikeshedding part? > > So

Re: Improve error handling for invalid slots and ensure a same 'inactive_since' time for inactive slots

2025-01-30 Thread vignesh C
On Thu, 30 Jan 2025 at 16:02, Amit Kapila wrote: > > I have made minor changes in the attached. The main change is to raise > an ERROR before we broadcast to let everybody know we've modified this > slot. There is no point in broadcasting if the slot is unusable. > > > - Updated the test files t

Re: Proposal to Enable/Disable Index using ALTER INDEX (with patch)

2025-01-30 Thread Benoit Lobréau
I did some additional testing with this command within transactions. I had the "BEGIN; ALTER INDEX; EXPLAIN; ROLLBACK;" scenario in mind, but didn't realise we acquire an AccessExclusiveLock on the index. Therefore, it's not possible to change the visibility within a single transaction unless

Re: Orphaned users in PG16 and above can only be managed by Superusers

2025-01-30 Thread Ashutosh Sharma
Hi All, On Fri, Jan 24, 2025 at 9:34 PM Ashutosh Sharma wrote: > > On Fri, Jan 24, 2025 at 8:23 PM Andrew Dunstan wrote: > > > > > > On 2025-01-23 Th 4:06 PM, Robert Haas wrote: > > > On Thu, Jan 23, 2025 at 3:51 PM Andres Freund wrote: > > >> I wonder if it's a mistake that a role membership t

Re: Parameter NOT NULL to CREATE DOMAIN not the same as CHECK (VALUE IS NOT NULL)

2025-01-30 Thread Bruce Momjian
On Wed, Jan 8, 2025 at 04:24:34PM -0500, Tom Lane wrote: > Bruce Momjian writes: > > I think this needs some serious research. > > We've discussed this topic before. The spec's definition of IS [NOT] > NULL for composite values is bizarre to say the least. I think > there's been an intentional

Re: Compression of bigger WAL records

2025-01-30 Thread Andrey Borodin
> On 23 Jan 2025, at 20:13, Japin Li wrote: > > > I find this feature interesting; Thank you for your interest in the patch! > however, it cannot be applied to the current > master (b35434b134b) due to commit 32a18cc0a73. PFA a rebased version. > > I see the patch compresses the WAL recor

Re: POC, WIP: OR-clause support for indexes

2025-01-30 Thread Pavel Borisov
On Tue, 28 Jan 2025 at 12:42, Andrei Lepikhov wrote: > > On 1/28/25 11:36, Andrei Lepikhov wrote: > > On 1/27/25 16:50, Alexander Korotkov wrote: > > qsort(matches, n, sizeof(OrArgIndexMatch), or_arg_index_match_cmp); > > > > To fit an index, the order of elements in the target array of the > > `S

Re: Windows CFBot is broken because ecpg dec_test.c error

2025-01-30 Thread Nazir Bilal Yavuz
Hi, On Wed, 29 Jan 2025 at 19:50, Andres Freund wrote: > > On 2025-01-29 18:24:45 +0300, Nazir Bilal Yavuz wrote: > > > The cause is that meson fixed a bug [1] in v.1.7.0. Before meson > > v1.7.0; although --no-rebuild is used while running tests, meson was > > building all targets. This is fixed

Re: Restrict publishing of partitioned table with a foreign table as partition

2025-01-30 Thread Shlok Kyal
On Wed, 29 Jan 2025 at 19:21, Sergey Tatarintsev wrote: > > > 29.01.2025 12:16, Shlok Kyal пишет: > > Hi, > > > > As part of a discussion in [1], I am starting this thread to address > > the issue reported for foreign tables. > > > > Logical replication of foreign tables is not supported, and we t

Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options

2025-01-30 Thread Oliver Ford
On Tue, Jan 28, 2025 at 9:02 AM Tatsuo Ishii wrote: > > >> +/* > >> + * ignorenulls_getfuncarginframe > >> + * For IGNORE NULLS, get the next nonnull value in the frame, moving > >> forward or backward > >> + * until we find a value or reach the frame's end. > >> + */ > >> +static Datum > >> +ign

Re: getting "shell command argument contains a newline or carriage return:" error with pg_dumpall when db name have new line in double quote

2025-01-30 Thread Srinath Reddy
On Wed, Jan 29, 2025 at 9:55 PM Mahendra Singh Thalor wrote: > Hi, > While doing some testing with pg_dumpall, I noticed one weird behaviour. > > While we create the database, we are allowing the database name with a new > line (if name is in double quote). > *For example*: > >> postgres=# create

Re: Sample rate added to pg_stat_statements

2025-01-30 Thread Ilia Evdokimov
On 29.01.2025 21:52, Ilia Evdokimov wrote: ... I also attached the benchmark.sh script used to generate the output. In my opinion, if we can't observe bottleneck of spinlock on 32 CPUs, we should determine the CPU count at which it becomes. This will help us understand the scale of the p

Re: Improve error handling for invalid slots and ensure a same 'inactive_since' time for inactive slots

2025-01-30 Thread Amit Kapila
On Thu, Jan 30, 2025 at 12:00 PM Nisha Moond wrote: > > Removed patch v1-0001. Please find the attached version 2 of 0002, > which is now v2-0001. > > In v2, I have addressed all comments till now from [1] , [2] and [3]. > - With the proposed errdetail message in [3], the new function > RaiseSlo

Re: UUID v7

2025-01-30 Thread Andrey Borodin
> On 12 Dec 2024, at 23:08, Masahiko Sawada wrote: > > Pushed Hi Masahiko! I’ve found some inconsistency in handling of overflow. I’m not sure we should handle it, but anyway. postgres=# select x, uuid_extract_timestamp(uuidv7((x::text || ' year'::text)::interval)), (x::tex

Re: SQLFunctionCache and generic plans

2025-01-30 Thread Alexander Pyhalov
Alexander Pyhalov писал(а) 2025-01-29 17:35: Tom Lane писал(а) 2025-01-17 21:27: Alexander Pyhalov writes: I've rebased patch on master. Tests pass here. The cfbot still doesn't like it; my guess is that you built without --with-libxml and so didn't notice the effects on xml.out. Hi. Thank

Re: Error in StrategySyncStart() prologue

2025-01-30 Thread Michael Paquier
On Thu, Jan 30, 2025 at 11:04:19AM +0530, Ashutosh Bapat wrote: > The prologue of StrategySyncStart() mentions BufferSync(), but the > latter function does not call the first function. Instead > StrategySyncStart() is called by BgBufferSync() which uses the buffer > id provided by the first functio

Re: why there is not VACUUM FULL CONCURRENTLY?

2025-01-30 Thread Michael Banck
Hi, On Mon, Jan 13, 2025 at 02:48:31PM +0100, Antonin Houska wrote: > Alvaro Herrera wrote: > > On 2025-Jan-09, Antonin Houska wrote: > > > It seems you accidentally fixed another problem :-) I was referring to the > > > 'lockmode' argument of make_new_heap(). I can try to write a patch for > >

Re: BitmapHeapScan streaming read user and prelim refactoring

2025-01-30 Thread Nazir Bilal Yavuz
Hi, On Thu, 30 Jan 2025 at 00:38, Melanie Plageman wrote: > > On Wed, Jan 22, 2025 at 4:24 PM Melanie Plageman > wrote: > > > > 0001 is just the refactoring to push the setup into a helper. > > 0002-0003 are required refactoring of the TBMIterateResult and > > TBMIterator to support the read str