POC: Parallel processing of indexes in autovacuum

2025-04-16 Thread Maxim Orlov
ke of simplicity's, several GUC's have been added. It would be good to think through the parallel launch condition without them. As always, any thoughts and opinions are very welcome! -- Best regards, Maxim Orlov. WIP-Allow-autovacuum-to-process-indexes-of-single-table.patch Description: Binary data

Re: POC: make mxidoff 64 bits

2025-04-16 Thread Maxim Orlov
I moved the topic to the next commitfest. -- Best regards, Maxim Orlov.

Re: Proposal: Limitations of palloc inside checkpointer

2025-03-12 Thread Maxim Orlov
"palloc" is a relatively old one, and no one expected the number of requests to exceed 1 GB. Now we have the ability to set the shared_buffers to a huge number (without discussing now whether this makes any real sense), thus this limit for palloc becomes a problem. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2025-03-07 Thread Maxim Orlov
Here is a rebase, v14. -- Best regards, Maxim Orlov. From ee4b3b3c3ad3293460eb1f0418d87a065b9a589b Mon Sep 17 00:00:00 2001 From: Maxim Orlov Date: Wed, 4 May 2022 15:53:36 +0300 Subject: [PATCH v14 5/7] TEST: initdb option to initialize cluster with non-standard xid/mxid/mxoff To date

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-28 Thread Maxim Orlov
I think I figured it out. Here is v4. If the number of requests is less than 1 GB, the algorithm stays the same as before. If we need to process more, we will do it incrementally with slices of 1 GB. Best regards, Maxim Orlov. v4-0001-Process-sync-requests-incrementally-in-AbsorbSync.patch

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-28 Thread Maxim Orlov
beginning and processing requests again. I'd like to hear your opinion on the subject. -- Best regards, Maxim Orlov. v3-0001-Limit-AbsorbSyncRequests-to-1Gb-at-once.patch Description: Binary data

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-28 Thread Maxim Orlov
After done some testing, I found a bug in the patch. If more requests were pushed while we release the lock, num_requests could not be set to zero. Here is a fixed version. -- Best regards, Maxim Orlov. v2-0001-AbsorbSyncRequests-incrementally-instead-of-doing.patch Description: Binary data

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-27 Thread Maxim Orlov
postgres to use huge amount of RAM. Is this really a problem if he will demand some more to process sync request? -- Best regards, Maxim Orlov. v1-0001-AbsorbSyncRequests-incrementally-instead-of-doing.patch Description: Binary data

Re: Spinlock can be released twice in procsignal.c

2025-02-26 Thread Maxim Orlov
Great! Looks very good. Thanks a lot! -- Best regards, Maxim Orlov.

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-26 Thread Maxim Orlov
On Wed, 26 Feb 2025 at 11:54, Andres Freund wrote: > > 4) Do compaction incrementally, instead of doing it for all requests at > once. Yeah, good idea! I completely forgot about that. Thanks! -- Best regards, Maxim Orlov.

Re: Spinlock can be released twice in procsignal.c

2025-02-26 Thread Maxim Orlov
r. Just write the name that you think is correct. -- Best regards, Maxim Orlov. v3-0001-Avoid-double-spinlock-release.patch Description: Binary data

Re: Proposal: Limitations of palloc inside checkpointer

2025-02-26 Thread Maxim Orlov
d with MCXT_ALLOC_HUGE flag. 3. Do not use any allocation and use CheckpointerShmem->requests directly in case of > 1G size of the required allocation. Case (3) is not an option, in my opinion. So, we following (1) or (2). Personally, I'm for (2), PFA v0 patch. -- Best regards, Max

Re: Spinlock can be released twice in procsignal.c

2025-02-25 Thread Maxim Orlov
mple: imagine a palloc failure while holding this spinlock in > this elog(). Indeed. PFA the correct one. -- Best regards, Maxim Orlov. v2-0001-Avoid-double-spinlock-release.patch Description: Binary data

Re: Convert macros to static inline functions

2025-01-31 Thread Maxim Orlov
odule? PFA patch. I don't use pg_attribute_always_inline for fastgetattr and heap_getattr because they are relatively large. I think it's worth leaving the possibility for debugging here. -- Best regards, Maxim Orlov. v2-0001-Use-pg_attribute_always_inline-for-static-inline-.patch Description: Binary data

Re: postgres_fdw could deparse ArrayCoerceExpr

2025-01-29 Thread Maxim Orlov
this change is needed or not. -- Best regards, Maxim Orlov.

Re: postgres_fdw could deparse ArrayCoerceExpr

2025-01-27 Thread Maxim Orlov
So, patch looks good to me. Implements described functionality. Test case also provided. I think it's ready to be viewed by a committer. -- Best regards, Maxim Orlov.

Re: postgres_fdw could deparse ArrayCoerceExpr

2025-01-27 Thread Maxim Orlov
quot; member in "ArrayCoerceExpr" and erroneously consider them to have the same structure. Maybe some refactoring may be done here, but, obviously, this is not a goal of this patch -- Best regards, Maxim Orlov.

Re: Casts from jsonb to other types should cope with json null

2025-01-27 Thread Maxim Orlov
ed it, but I'm now > thinking about withdrawing it. > Thanks for explanation, at your will. -- Best regards, Maxim Orlov.

Re: postgres_fdw could deparse ArrayCoerceExpr

2025-01-24 Thread Maxim Orlov
reuse" T_RelabelType case, as it made for T_OpExpr and T_DistinctExpr? -- Best regards, Maxim Orlov.

Re: Casts from jsonb to other types should cope with json null

2025-01-24 Thread Maxim Orlov
> I tend to agree with you here about the semantics of such casts. But consistency and "predictability" of behaviour for the casts are a bit more important in my view. At least, based on my experience. So, I'm for 0002 patch. -- Best regards, Maxim Orlov.

Re: Potential null pointer dereference in postgres.c

2025-01-10 Thread Maxim Orlov
I have to admit I was wrong with previous v2 patch. Sorry. Apparently, the chances of committing this very low, but here is the correct one. -- Best regards, Maxim Orlov. v3-0001-Use-pstrdup-for-remote_host-and-remote_port-save-.patch Description: Binary data

Re: POC: make mxidoff 64 bits

2025-01-07 Thread Maxim Orlov
ffset does not exist, consider running vacuum before pg_upgrdade" or smth. Please, correct me if I'm wrong. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-12-27 Thread Maxim Orlov
for a second table; 3) drop first table; 4) stop pg cluster; 5) remove pg_multixact/offsets/ 6) upgrade? PFA, v10-0016-TEST-try-to-replicate-buggy-oldest-offset.patch This test will fail now, for an obvious reason, but is this case a relevant one? -- Best regards, Maxim Orlov. <>

Re: Potential null pointer dereference in postgres.c

2024-12-06 Thread Maxim Orlov
I'm glad you are bringing up this issue. By the way, there are two more annoying places in postmaster.c for pg16 and older. See, strdup() also may fail if insufficient memory available. PFA patch for a REL_16_STABLE. It also applies to older versions. -- Best regards, Maxim Orlov. v2-000

Re: Forbid to DROP temp tables of other sessions

2024-11-24 Thread Maxim Orlov
formance by removing locks for a "not a bug, but a feature". This seems odd to me. Arguably, the number of people who need faster temp relations is greater than the number of people who want to have access to temp relations of other backends. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-11-19 Thread Maxim Orlov
ate segments are generated. - pg_upgarde tests. Here is oldinstall ENV is for. Run pg_upgrade for old cluster with multi and offset values just like in previous step. i.e. with various combinations. - Self pg_upgarde. -- Best regards, Maxim Orlov. From 2642f597832cbed0ebc54202de4e0f

Re: POC: make mxidoff 64 bits

2024-11-18 Thread Maxim Orlov
Shame on me! I've sent an erroneous patch set. Version 7 is defective. Here is the proper version v8 with minor refactoring in segresize.c. Also, I rename bump cat version patch into txt in order not to break cfbot. -- Best regards, Maxim Orlov. From 73b8663093ff1c58def9a80abab142a12c993bf

Re: POC: make mxidoff 64 bits

2024-11-15 Thread Maxim Orlov
resentation in combination with switching multi to 64 bit. This seems a bit more appropriate in my view. As for your optimization suggestions, I like them. I don’t against them, but I’m afraid to disrupt the clarity of thought, especially since the algorithm is not the simplest. -- Best regards, Maxim Orlov.

Re: Improve error messages for database object stats manipulation functions during recovery

2024-11-15 Thread Maxim Orlov
patch useful. Overall, looks good to me. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-11-15 Thread Maxim Orlov
./generate.sh Then the test.sh is used to run various upgrades. OLDBIN=/.../pgsql-old NEWBIN=/.../pgsql-new ./test.sh I hope that helps! -- Best regards, Maxim Orlov. #!/usr/bin/env python3 import sys; import threading; import psycopg2; def test_multixact(tblname: str): with psycopg2

Re: POC: make mxidoff 64 bits

2024-11-13 Thread Maxim Orlov
s invalid value once. The first options seem too weird for me. So, we have to repack members and bypass invalid value. All patches are for master@38c18710b37a2d -- Best regards, Maxim Orlov. v7-0001-Use-64-bit-format-output-for-multixact-offsets.patch Description: Binary data v7-0004-

Re: Forbid to DROP temp tables of other sessions

2024-10-25 Thread Maxim Orlov
[1]. [0] https://www.postgresql.org/message-id/flat/d4a68c6d-d6c4-d52a-56cb-babb8177b5fe%40oss.nttdata.com [1] https://www.postgresql.org/message-id/flat/CACG%3DezZzMbjMzshhe%2BLDd4NJ0SeRPvCH9%2BLFS7SAPbM6Qxwe5g%40mail.gmail.com -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-10-23 Thread Maxim Orlov
igher value. For now, I choose 2^32-1. In other world, legit logic, in my view, here would be to trigger autovacuum if the number of offsets (i.e. difference nextOffset - oldestOffset) exceeds 2^32-1. PFA patch set. -- Best regards, Maxim Orlov. v5-0002-Use-64-bit-multixact-offsets.patch Desc

Re: POC: make mxidoff 64 bits

2024-10-22 Thread Maxim Orlov
must be holding MultiXactGenLock in order to track oldestOffset to do "nextOff - oldestOff" calculation. > > I'd love to see some tests for the pg_upgrade code. Something like a > little perl script to generate test clusters with different wraparound > scenarios etc. Ag

Re: Do not lock temp relations

2024-10-03 Thread Maxim Orlov
lematic for example to clean out a crashed session's temp > tables. See the "orphan temporary tables" logic in autovacuum.c.) > OK, now I've realized the problem. Thanks a lot! -- Best regards, Maxim Orlov.

Do not lock temp relations

2024-09-30 Thread Maxim Orlov
s here and it's worth the effort to make a POC patch? -- Best regards, Maxim Orlov.

Re: Add memory/disk usage for WindowAgg nodes in EXPLAIN

2024-09-13 Thread Maxim Orlov
On Fri, 13 Sept 2024 at 09:11, Tatsuo Ishii wrote: > Thanks. Attached is the v4 patch. I am going push it if there's no > objection. > Looks good to me. Thank you for your work. -- Best regards, Maxim Orlov.

Re: Add 64-bit XIDs into PostgreSQL 15

2024-09-12 Thread Maxim Orlov
wraparound by switching to 64 bits. [0] https://commitfest.postgresql.org/49/5205/ [1] https://www.postgresql.org/message-id/flat/CACG%3DezaWg7_nt-8ey4aKv2w9LcuLthHknwCawmBgEeTnJrJTcw%40mail.gmail.com -- Best regards, Maxim Orlov.

Re: Latches vs lwlock contention

2024-09-10 Thread Maxim Orlov
add a PG_USED_FOR_ASSERTS_ONLY to solve the last issue. Again, overall patch looks good and seems useful to me. Here is the rebased v5 version based on Heikki's patch set above. -- Best regards, Maxim Orlov. v5-0004-Move-TRACE-calls-into-WaitOnLock.patch Description: Binary data v5-0

Re: POC: make mxidoff 64 bits

2024-09-06 Thread Maxim Orlov
Here is v3. I removed CATALOG_VERSION_NO change, so this should be done by the actual commiter. -- Best regards, Maxim Orlov. v3-0002-Use-64-bit-multixact-offsets.patch Description: Binary data v3-0001-Use-64-bit-format-output-for-multixact-offsets.patch Description: Binary data v3-0003

Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-09-05 Thread Maxim Orlov
anation, I get it. -- Best regards, Maxim Orlov.

Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-09-04 Thread Maxim Orlov
27;--enable-tap-tests' '--enable-depend' .... meson: $ ./pg_config --configure -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-09-04 Thread Maxim Orlov
; committer to advance CATALOG_VERSION_NO when needed. > OK, I got it. My intention here was to help to test the patch. If someone wants to have a look at the patch, he won't need to make changes in the code. In the next iteration, I'll remove CATALOG_VERSION_NO version change. -- Best regards, Maxim Orlov.

Re: Add memory/disk usage for WindowAgg nodes in EXPLAIN

2024-09-03 Thread Maxim Orlov
On Wed, 4 Sept 2024 at 03:07, Tatsuo Ishii wrote: > > Agreed. Probably add to explain.sql? > Yeah, I think this is an appropriate place. -- Best regards, Maxim Orlov.

Re: Add memory/disk usage for WindowAgg nodes in EXPLAIN

2024-09-03 Thread Maxim Orlov
as in the mentioned 1eff8279d494b9. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-09-03 Thread Maxim Orlov
Here is rebase. Apparently I'll have to do it often, since the CATALOG_VERSION_NO changed in the patch. -- Best regards, Maxim Orlov. v2-0001-Use-64-bit-format-output-for-multixact-offsets.patch Description: Binary data v2-0003-Make-pg_upgrade-convert-multixact-offsets.patch Descri

Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-08-27 Thread Maxim Orlov
uccessful. To be honest, this step is not obvious. Especially than there was no such step before. But docs and https://wiki.postgresql.org/wiki/Meson are completely silenced about it. -- Best regards, Maxim Orlov.

Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-08-20 Thread Maxim Orlov
t here: installcheck-world doesn't work on the current master branch until I explicitly install injection_points extension. In my view, it's a bit wired, since neither test_decoding, pg_stat_statements or pg_prewarm demand it. -- Best regards, Maxim Orlov.

Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-08-20 Thread Maxim Orlov
code. > > I suspect this needs some additional verbiage about also installing > src/test/modules/injection_points if you've enabled injection points. > > (I think we haven't noticed because most people just use "make check" > instead.) > OK, many thanks for a comprehensive explanation! -- Best regards, Maxim Orlov.

Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points

2024-08-19 Thread Maxim Orlov
TE EXTENSION injection_points;' at /home/omg/proj/build/../postgres/src/test/perl/PostgreSQL/Test/Cluster.pm line 2140. # Postmaster PID for node "master" is 820423 ... Cleary, Postgres can't find injection_points extension. Am I doing something wrong, or it is a problem with injection points extension itself? -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-08-14 Thread Maxim Orlov
retty sure this is just a beginning of the conversation, so any opinions and reviews, as always, are very welcome! -- Best regards, Maxim Orlov. From 2e1f05b3b0504153e57188e968bb19cb6741c087 Mon Sep 17 00:00:00 2001 From: Maxim Orlov Date: Wed, 6 Mar 2024 11:11:33 +0300 Subject: [PATCH v1 2/3] U

Re: Maybe don't process multi xmax in FreezeMultiXactId() if it is already marked as invalid?

2024-06-18 Thread Maxim Orlov
speculation. Does anyone know if there are reasons to deliberately ignore the HEAP_XMAX INVALID flag? Or this is just an unfortunate oversight. PFA, my approach on this issue. -- Best regards, Maxim Orlov. v2-0001-Invalidate-xmax-if-HEAP_XMAX_INVALID-is-set.patch Description: Binary data

Bugfix and improvements in multixact.c

2024-06-14 Thread Maxim Orlov
t/ff143b24-a093-40da-9833-d36b83726bdf%40iki.fi#61d5a0e1cf6ab94b0e8aae8559bc4cf7 -- Best regards, Maxim Orlov. v1-0003-Switch-from-macro-functions-to-inline-in-multixac.patch Description: Binary data v1-0002-Fix-using-of-MultiXactOffset-type-insted-of-Trans.patch Description: Binary

Re: Build with meson + clang + sanitizer resulted in undefined reference

2024-05-02 Thread Maxim Orlov
you for a reply! Yes, it seems to be that way. Many thanks for the clarification. -- Best regards, Maxim Orlov.

Build with meson + clang + sanitizer resulted in undefined reference

2024-04-25 Thread Maxim Orlov
ch_v1_abort' follow /usr/bin/ld: src/interfaces/libpq/libpq.so.5.17.p/fe-auth-scram.c.o: in function `scram_exchange': ... many many many more ... My OS info: $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:Ubuntu 22.04.4 LTS Release:22.04 Codename: jammy Previously, I've got the same troubles on my old trusty 32-bit laptop on Debian. But, there was no time to dig deeper in the problem at the time. And now same for 64-bit Ubuntu. The most common reason for such errors are not passing appropriate sanitizer flags to LDFLAGS, but this is not the case. What could be the reason for this? Am I doin' something wrong? Exact the same sequence, but for GCC, works splendidly. -- Best regards, Maxim Orlov.

Re: POC: make mxidoff 64 bits

2024-04-25 Thread Maxim Orlov
t find an exact link for that discussion. On the other hand, such a casting is already used throughout the code. So, just for the sake of the consistency, I would like to stay with these casts. On Tue, 23 Apr 2024 at 16:03, wenhui qiu wrote: > Hi Maxim Orlov >Thank you so much for you

POC: make mxidoff 64 bits

2024-04-23 Thread Maxim Orlov
.postgresql.org/message-id/flat/CACG%3DezY7msw%2Bjip%3Drtfvnfz051dRqz4s-diuO46v3rAoAE0T0g%40mail.gmail.com [3] https://postgr.es/m/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com -- Best regards, Maxim Orlov. 0001-WIP-mxidoff-to-64bit.patch Description: Binary data

Re: Refactoring of pg_resetwal/t/001_basic.pl

2024-03-22 Thread Maxim Orlov
ct the reality. -- Best regards, Maxim Orlov. v1-0002-Use-proper-types-in-defines-in-multixact.c.patch Description: Binary data

Re: Bug in nbtree optimization to skip > operator comparisons (or < comparisons in backwards scans)

2024-03-22 Thread Maxim Orlov
I've noticed this patch and had a quick look at it. As far as I understand, this bug does not lead to an incorrect matching, resulting only in degradation in speed. Anyway, consider this patch useful, hope it will be committed soon. -- Best regards, Maxim Orlov.

Refactoring of pg_resetwal/t/001_basic.pl

2024-03-21 Thread Maxim Orlov
r MultiXactOffset or MultiXactId. As always, reviews and opinions are very welcome! -- Best regards, Maxim Orlov. v1-0001-Refactor-pg_resetwal-t-001_basic.pl.patch Description: Binary data

Re: CI speed improvements for FreeBSD

2024-03-12 Thread Maxim Orlov
resource usage, but I don't think this increase should be significant. -- Best regards, Maxim Orlov.

Re: Add Index-level REINDEX with multiple jobs

2024-03-11 Thread Maxim Orlov
? Sorry for a late reply. Thanks for an explanation. This is sounds reasonable to me. Svetlana had addressed this in the patch v2. -- Best regards, Maxim Orlov.

Re: Extension Enhancement: Buffer Invalidation in pg_buffercache

2024-03-07 Thread Maxim Orlov
not. Maybe I miss something? -- Best regards, Maxim Orlov. v4-0001-Invalidate-Buffer-By-Bufnum.patch Description: Binary data

Re: POC: GROUP BY optimization

2024-02-21 Thread Maxim Orlov
-> Index Scan using btg_x_y_idx on btg -(6 rows) + -> Seq Scan on btg +(5 rows) ... and so on. So, my proposal is simple. I think we need not just "ANALYZE btg", but "VACUUM ANALYZE btg", to get rid of zeroed pages in this particular case. PFA corresponding

Re: Next step towards 64bit XIDs: Switch to FullTransactionId for PGPROC->xid and XLogRecord->xl_xid

2023-12-31 Thread Maxim Orlov
be a "chicken and the egg" situation. It is very hard to split overall 64xid patch into smaller pieces with each part been a meaningful and beneficial for current 32xids Postgres. Anyway, thanks for reply, appreciate it. -- Best regards, Maxim Orlov.

Add Index-level REINDEX with multiple jobs

2023-12-29 Thread Maxim Orlov
://www.postgresql.org/message-id/flat/CAOBaU_YrnH_Jqo46NhaJ7uRBiWWEcS40VNRQxgFbqYo9kApUsg%40mail.gmail.com -- Best regards, Maxim Orlov. v1-0001-Add-Index-level-REINDEX-with-multiple-jobs.patch Description: Binary data

Next step towards 64bit XIDs: Switch to FullTransactionId for PGPROC->xid and XLogRecord->xl_xid

2023-12-29 Thread Maxim Orlov
age-id/CACG=ezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe=pyyj...@mail.gmail.com [1] https://www.postgresql.org/message-id/flat/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com -- Best regards, Maxim Orlov. v1-0002-Switch-to-FullTransactionId-for-XLogRecord-xl_xid.patch Description: Binar

Re: How to stop autovacuum silently

2023-11-23 Thread Maxim Orlov
bug fixed by commit 74cf7d46. > I'm pretty much sure it was, but, unfortunately, there are no way to 100% confirm this. All I know, they're using PG13 now. -- Best regards, Maxim Orlov.

How to stop autovacuum silently

2023-11-22 Thread Maxim Orlov
---++-+-+-- bar | 8192 | 16384 | 0 | 8192 | 16384 | | |0 (1 row) ... and so on -- Best regards, Maxim Orlov. 0001-Add-warning-if-datfrozenxid-or-datminmxid-is-not-set.patch Description: Binary data

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-11-09 Thread Maxim Orlov
segno = (int) strtol(clde->d_name, NULL, 16); + segno = strtoi64(clde->d_name, NULL, 16); -- Best regards, Maxim Orlov. v61-0003-Make-use-FullTransactionId-in-2PC-filenames.patch Description: Binary data v61-0004-Add-SLRU-tests-for-64-bit-page-case.patch Description: Binary data v

Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression

2023-11-09 Thread Maxim Orlov
It would be nice to correct this in the next release. -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-11-07 Thread Maxim Orlov
bled. It's weird. AFICS, the only reason for this behaviour is becouse of transaction wraparound. It may occur while the feature is disabled end it is safe to simply remove all the data from previous period. If we switch to FullTransactionId in commit_ts we can overcome this limitation. Bu

Re: should frontend tools use syncfs() ?

2023-10-09 Thread Maxim Orlov
nks a lot! https://commitfest.postgresql.org/45/4609/ -- Best regards, Maxim Orlov.

Re: should frontend tools use syncfs() ?

2023-10-06 Thread Maxim Orlov
Back to the patch v11. I don’t understand a bit, what we should do next? Make a separate thread or put this one on commitfest? -- Best regards, Maxim Orlov.

Re: should frontend tools use syncfs() ?

2023-09-21 Thread Maxim Orlov
m for WAL sync methods instead of defines. -- Best regards, Maxim Orlov. v11-0001-Fix-conflicting-types-for-sync_method.patch Description: Binary data

Re: should frontend tools use syncfs() ?

2023-09-20 Thread Maxim Orlov
27;int' vs 'DataDirSyncMethod' (aka 'enum DataDirSyncMethod') extern PGDLLIMPORT int sync_method; ... As a solution, I suggest renaming sync_method in xlog module to wal_sync_method. In fact, appropriate GUC for this variable, called "wal_sync_method" and I s

Re: Add 'worker_type' to pg_stat_subscription

2023-09-13 Thread Maxim Orlov
section there to have an explicit error instead of the compiler warnings if somehow we decide to add another one worker type? So, should we mark this thread as RfC? -- Best regards, Maxim Orlov.

Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression

2023-09-13 Thread Maxim Orlov
So, in my view, consider split these commands. Hope, that helps. Again, I'm +1 for this patch. -- Best regards, Maxim Orlov.

Vectorization of some functions and improving pg_list interface

2023-08-24 Thread Maxim Orlov
one thing still waiting to be improved if foreach loop. It is not very handy to have a bunch of similar calls foreach, forboth, forthree and etc. It will be ideal to have single foreach interface, but I don't know how to do it without overall interface of the loop. Any opinions are very wel

Re: [PATCH] Add initial xid/mxid/mxoff to initdb

2023-03-21 Thread Maxim Orlov
On Mon, 20 Mar 2023 at 22:31, Gregory Stark (as CFM) wrote: > > So is that other thread tracked in a different commitfest entry and > this one completely redundant? I'll mark it Rejected then? > Yep, it appears so. -- Best regards, Maxim Orlov.

Re: Add SHELL_EXIT_CODE to psql

2023-03-20 Thread Maxim Orlov
I did a look at the patch, and it seems to be in a good condition. It implements declared functionality with no visible defects. As for test, I think it is possible to implement "signals" case in tap tests. But let the actual commiter decide does it worth it or not. -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-03-20 Thread Maxim Orlov
Id in PGPROC and patch become too big to handle here. So I decided to keep it simple for now and use wrap logic trick and calc FullTransactionId on current epoch, since the span of active xids cannot exceed one epoch at any given time. Patches 1 and 2 are the same as above. -- Best regards, Maxim

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-03-07 Thread Maxim Orlov
MultiXactOffset from 32 to 64 bits, and eliminate pg_multixact/members > wraparound, while keeping multi-xids 32 bits wide. > > Yes, you're totally correct. If it will be committable that way, I'm all for that. -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-03-07 Thread Maxim Orlov
ithout changing segments naming. 2. Use the larger segment file names in async.c, to lift the current 8 GB limit on the max number of pending notifications. 3. Extend pg_xact to 64-bits. 4. Extend pg_subtrans to 64-bits. 5. Extend pg_multixact so that pg_multixact/members is addressed by 64-bit offsets. 6.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-02-28 Thread Maxim Orlov
$ ls pg_commit_ts/ 00C2 Either I do not understand something, or the files from pg_commit_ts directory are not copied. -- Best regards, Maxim Orlov.

Re: Add SHELL_EXIT_CODE to psql

2023-02-22 Thread Maxim Orlov
ot;, exit_code_buf); + SetVariable(pset.vars, "SHELL_ERROR", "true"); After this changes, I think, we make this patch RfC, shall we? -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-02-22 Thread Maxim Orlov
offsets > * pg_multixact/members > * pg_subtrans > * pg_notify > * pg_serial Hi! We do ignore these values, since in order to pg_upgrade the server it must be properly stopped and no transactions can outlast this moment. -- Best regards, Maxim Orlov.

Re: Add SHELL_EXIT_CODE to psql

2023-01-30 Thread Maxim Orlov
Unfortunately, there is a fail in FreeBSD https://cirrus-ci.com/task/6466749487382528 Maybe, this patch is need to be rebased? -- Best regards, Maxim Orlov.

Re: old_snapshot_threshold bottleneck on replica

2023-01-30 Thread Maxim Orlov
sed in conjunction with the threshold_xid. We must use spinlock to sync. b). When the threshold_timestamp is used without conjunction with the threshold_xid. In this case, we use atomic values. -- Best regards, Maxim Orlov.

Re: old_snapshot_threshold bottleneck on replica

2023-01-27 Thread Maxim Orlov
On Wed, 25 Jan 2023 at 16:52, Robert Haas wrote: > On Wed, Jan 25, 2023 at 3:52 AM Maxim Orlov wrote: > > Well, that's something we - and ideally you, as the patch author - > need to analyze and figure out. We can't just take a shot and hope for > the best. > I than

Re: old_snapshot_threshold bottleneck on replica

2023-01-25 Thread Maxim Orlov
e variable is using conjointly. So, I'm not sure, is it completely safe to remove mutex. Actually, removing mutex and switch to atomics was my first choice. I've run all the tests and no problems were found. But, at that time I choose to be more conservative. Anyway, here is the new v

old_snapshot_threshold bottleneck on replica

2023-01-23 Thread Maxim Orlov
ld_xid, but is this really a problem? Thoughts? -- Best regards, Maxim Orlov. 0001-PGPRO-7624-use-atomic-old_snapshot_threshold.patch Description: Binary data

Re: Add SHELL_EXIT_CODE to psql

2023-01-20 Thread Maxim Orlov
On Fri, 13 Jan 2023 at 07:50, Corey Huinker wrote: > > I named it wait_result_to_exit_code(), but I welcome suggestions of a > better name. > Thanks! But CF bot still not happy. I think, we should address issues from here https://cirrus-ci.com/task/5391002618298368 -- Best re

Re: Add SHELL_EXIT_CODE to psql

2023-01-12 Thread Maxim Orlov
[23:19:52.197] meson-generated_.._psqlscanslash.c.obj : error LNK2019: unresolved external symbol WSTOPSIG referenced in function evaluate_backtick [23:19:52.197] src\bin\psql\psql.exe : fatal error LNK1120: 2 unresolved externals I belive, we need proper includes. -- Best regards, Maxim Orlov.

Re: Add SHELL_EXIT_CODE to psql

2023-01-10 Thread Maxim Orlov
haps, I didn't make myself clear. Your solution is perfectly adapted to our needs. But all Windows since 2000 already have an environment variable OS=Windows_NT. So, if env OS is defined and equal Windows_NT, this had to be Windows. May we use it in our case? I don't insist, just asking. -- Best regards, Maxim Orlov.

Re: Add SHELL_EXIT_CODE to psql

2023-01-09 Thread Maxim Orlov
uot;OS"? I do not know much about Windows, but I think this is kind of standard environment variable there. -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-01-09 Thread Maxim Orlov
Hi! Here is a new patch set. I've added comments and make use GetClogDirName call in copy_subdir_files. -- Best regards, Maxim Orlov. v52-0003-Make-pg_upgrade-from-32-bit-to-64-bit-SLRU.patch Description: Binary data v52-0002-Use-64-bit-pages-representation-in-SLRU-callers.patch Descri

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-01-09 Thread Maxim Orlov
On Fri, 6 Jan 2023 at 09:51, Japin Li wrote: > > For v51-0003. We can use GetClogDirName instead of GET_MAJOR_VERSION in > copy_subdir_files(). > Of course! Tanks! I'll address this in the next iteration, v52. -- Best regards, Maxim Orlov.

Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

2023-01-09 Thread Maxim Orlov
increase of an amount of SLRU pages per segment. And as for other SLRUs, they cannot survive pg_upgrade mostly by the fact, that cluster must be stopped upon upgrade. Thus, no conversion needed. -- Best regards, Maxim Orlov.

Re: add \dpS to psql

2022-12-28 Thread Maxim Orlov
egards, Maxim Orlov.

  1   2   >