Mingw task for Cirrus CI

2022-02-25 Thread Melih Mutlu
Hi All, I've been working on adding Windows+MinGW environment into cirrus-ci tasks (discussion about ci is here [1]). It uses MSYS2 to set the environment. UCRT is chosen as C standard library, instead of MSVCRT. The task configures postgres with features that are available in MSYS2 (see available

Re: Mingw task for Cirrus CI

2022-03-03 Thread Melih Mutlu
Hi Andres, > This presumably is due to using mingw's python rather than python.org's > python. Seems like a reasonable thing to support for the mingw build. > > Melih, you could try to build against the python.org python (i installed > in > the CI container). > I tried to use the installed pytho

Re: Mingw task for Cirrus CI

2022-03-22 Thread Melih Mutlu
Hi Andres, Rebased it. I also removed the temp installation task and used NoDefaultCurrentDirectoryInExePath env variable instead. Best, Melih From e8a1dae0ec10efd8a967070e0d412d2bf875fa93 Mon Sep 17 00:00:00 2001 From: Melih Mutlu Date: Mon, 21 Feb 2022 14:46:05 +0300 Subject: [PATCH] Added

Re: Parent/child context relation in pg_get_backend_memory_contexts()

2024-01-16 Thread Melih Mutlu
o next > to them. > > If we do this, orders of columns in the system view should be the same, > I think. > I've done what you suggested. Also moved "total_bytes_including_children" right after "total_bytes". 14dd0f27d have introduced new macro foreach_int. > It seems to be able to make the code a bit simpler and the commit log > says this macro is primarily intended for use in new code. For example: > Makes sense. Done. Thanks, -- Melih Mutlu Microsoft v5-0001-Adding-id-parent_id-into-pg_backend_memory_contex.patch Description: Binary data

Re: Improve WALRead() to suck data directly from WAL buffers when possible

2024-01-22 Thread Melih Mutlu
age boundary because of the concurrent + * insertions. + */ I'm not sure about pasting this into the most places we call WalRead(). Wouldn't it be better if we mention this somewhere around WALRead() only once? Best, -- Melih Mutlu Microsoft

Re: Flushing large data immediately in pqcomm

2024-01-30 Thread Melih Mutlu
, name, time) SELECT i AS id, repeat('dummy', 1) AS name, NOW() AS time FROM generate_series(1, 100) AS i; [2] rm /tmp/dummy && echo 3 | sudo tee /proc/sys/vm/drop_caches && time psql -d postgres -c "COPY test TO STDOUT;" > /tmp/dummy Thanks, -- Melih Mutlu Microsoft

Re: Flushing large data immediately in pqcomm

2024-01-30 Thread Melih Mutlu
tmessage_noblock() without blocking and copy the data into PqSendBuffer only if the socket would block and cannot send it. Unfortunately, I don't have strong numbers to demonstrate any improvement in perf or timing yet. But I still like to know what would you think about it? Thanks, -- Melih Mutlu Microsoft

Re: Flushing large data immediately in pqcomm

2024-01-31 Thread Melih Mutlu
he cases. That may even help us to find a better approach than what's already proposed. Just to clarify, I don't think anyone here suggests that the bar should be at "if it can't lose relative to today, it's good enough". IMHO "a change that improves some cases, but regresses nowhere" does not translate to that. Thanks, -- Melih Mutlu Microsoft

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-22 Thread Melih Mutlu
Hi, Melih Mutlu , 16 Şub 2023 Per, 14:37 tarihinde şunu yazdı: > I see that setting originname in the catalog before actually creating it > causes issues. My concern with setting originname when setting the state to > FINISHEDCOPY is that if worker waits until FINISHEDCOPY to upda

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-22 Thread Melih Mutlu
Hi Shveta, Thanks for reviewing. Please see attached patches. shveta malik , 2 Şub 2023 Per, 14:31 tarihinde şunu yazdı: > On Wed, Feb 1, 2023 at 5:37 PM Melih Mutlu wrote: > for (int64 i = 1; i <= lastusedid; i++) > { > charori

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-22 Thread Melih Mutlu
nsistencies between "CREATE_REPLICATION_SLOT" and "CREATE_REPLICATION_SNAPSHOT" are expected since one creates a new replication slot and the other does not. CreateDecodingContext is also used in other places as well. Not sure how this change would affect those places. I'

Re: Allow logical replication to copy tables in binary format

2023-02-23 Thread Melih Mutlu
hould allow setting copy_format even if copy_data=false. Another way to deal with this issue could be expecting the user to specify format every time copy_format is needed, similar to the case for copy_data, and moving on with text (default) format if it's not specified for the current CREATE/ALTER SUBSCRIPTION execution. But I don't think this would make things easier. Best, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-02-27 Thread Melih Mutlu
k7Fow%40mail.gmail.com Thanks, -- Melih Mutlu Microsoft v10-0001-Allow-logical-replication-to-copy-table-in-binar.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-02-28 Thread Melih Mutlu
e no way of testing that the option took effect. > > Another way to test that BINARY is enabled could be to trigger one > of the failure cases. Yes, there is already a failure case for binary copy which resolves with swithcing binary_copy to false. But I also added checks for publisher logs now too. [1] https://www.postgresql.org/docs/devel/sql-copy.html Thanks, -- Melih Mutlu Microsoft v11-0001-Allow-logical-replication-to-copy-table-in-binary.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-03-01 Thread Melih Mutlu
ll good now with the binary_copy option which is not tied to anything, explanations in the doc and separate tests etc. But I also agree that binary=true should make everything in binary and binary=false should do them in text format. It makes more sense. Best, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-01 Thread Melih Mutlu
is more likely happen to > fail > the initial copy user should enable binary format after synchronization if > tables have original datatype. > I tried to explain when binary copy can cause failures in the doc. What exactly do you think is missing? Best, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-08 Thread Melih Mutlu
e version checks? I removed any kind of check since it’s currently a different option. Should we check publisher version before doing binary copy to ensure that the publisher node supports binary option of COPY command? Thanks, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-13 Thread Melih Mutlu
Hi, Attached v12 with a unified option. Setting binary = true now allows the initial sync to happen in binary format. Thanks, -- Melih Mutlu Microsoft v12-0001-Allow-logical-replication-to-copy-table-in-binary.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-03-14 Thread Melih Mutlu
d those tests into 014_binary.pl. Also added the case with different column order as Peter suggested. Best, -- Melih Mutlu Microsoft v13-0001-Allow-logical-replication-to-copy-table-in-binary.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-03-15 Thread Melih Mutlu
th "subscription" for example. Kindly please fix it. > Changed this with Amit's suggestion [1]. [1] https://www.postgresql.org/message-id/CAA4eK1%2BC7ykvdBxh_t1BdbX5Da1bM1BgsE%3D-i2koPkd3pSid0A%40mail.gmail.com Thanks, -- Melih Mutlu Microsoft v14-0001-Allow-logical-replication-to-copy-table-in-binary.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-03-15 Thread Melih Mutlu
introduced until v14 it was decided to check using the later version. > Changed it as suggested here [2]. [1] https://www.postgresql.org/message-id/CAGPVpCTaXYctCUp3z%3D_BstonHiZcC5Jj7584i7B8jeZQq4RJkw%40mail.gmail.com [2] https://www.postgresql.org/message-id/CAA4eK1%2BC7ykvdBxh_t1BdbX5Da1bM1BgsE%3D-i2koPkd3pSid0A%40mail.gmail.com Thanks, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-15 Thread Melih Mutlu
Amit Kapila , 15 Mar 2023 Çar, 12:31 tarihinde şunu yazdı: > On Tue, Mar 14, 2023 at 4:32 PM Melih Mutlu > wrote: > > What purpose does this test serve w.r.t this patch? Before checking > the sync for different column orders, the patch has already changed > binary to false,

Re: Allow logical replication to copy tables in binary format

2023-03-15 Thread Melih Mutlu
d data on the subscriber > +$result = $node_subscriber->safe_psql('postgres', 'SELECT a,b FROM > +public.test_col_order;'); > + > +is( $result, '1|2 > +3|4', 'check synced data on subscriber for different column order'); > Right, it needs to be

Re: Allow logical replication to copy tables in binary format

2023-03-16 Thread Melih Mutlu
would be better to pass the log offset when using wait_for_log, > because otherwise it will check the whole log file to find the target > message, > This might not be a big problem, but it has a risk of getting unexpected > log message > which was generated by previous commands. >

Re: Allow logical replication to copy tables in binary format

2023-03-16 Thread Melih Mutlu
I am fine with supporting this for >= > v16. > Upgrading the subscriber to v16 and keeping the subscriber in v14 could break existing subscriptions. I don't know how likely such a case is. I don't have a strong preference on this. What do you think? Should we change it >=v16 or keep it as it is? Best, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-17 Thread Melih Mutlu
how didn't include those lines into the patch. Thanks for noticing. Fixed them now. Thanks, -- Melih Mutlu Microsoft v17-0001-Allow-logical-replication-to-copy-table-in-binary.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-03-20 Thread Melih Mutlu
Hi, Please see the attached patch. vignesh C , 18 Mar 2023 Cmt, 12:03 tarihinde şunu yazdı: > On Fri, 17 Mar 2023 at 17:55, Melih Mutlu wrote: > 1) Currently we refer the link to the beginning of create subscription > page, this can be changed to refer to binary option contents

Re: Allow logical replication to copy tables in binary format

2023-03-21 Thread Melih Mutlu
again. I feel it would be better without using > disable_on_error option in these tests. > While this change would make the test inconsistent, I think it also would make more confusing. Explaining the issue explicitly with a comment seems better to me than the trick of changing order of table creation just for some test cases. But I'm also ok with removing the use of disable_on_error if that's what you agree on. Thanks, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-03-21 Thread Melih Mutlu
it to list_make1. Amit Kapila , 21 Mar 2023 Sal, 12:27 tarihinde şunu yazdı: > > Explaining the issue explicitly with a comment seems better to me than > the trick of changing order of table creation just for some test cases. > > But I'm also ok with removing the use of

Re: Allow logical replication to copy tables in binary format

2023-03-23 Thread Melih Mutlu
Hi, Amit Kapila , 23 Mar 2023 Per, 08:48 tarihinde şunu yazdı: > Pushed the 0001. It may be better to start a separate thread for 0002. > Great! Thanks. Best, -- Melih Mutlu Microsoft

Re: Flushing large data immediately in pqcomm

2024-03-14 Thread Melih Mutlu
buffering at all starts performing better than HEAD. Similarly the patch performs better too as it stops buffering if data does not fit into the buffer. [1] https://www.postgresql.org/message-id/CAGECzQTYUhnC1bO%3DzNiSpUgCs%3DhCYxVHvLD2doXNx3My6ZAC2w%40mail.gmail.com Thanks, -- Melih Mutlu

Re: Flushing large data immediately in pqcomm

2024-03-20 Thread Melih Mutlu
David Rowley , 21 Mar 2024 Per, 00:54 tarihinde şunu yazdı: > On Fri, 15 Mar 2024 at 02:03, Jelte Fennema-Nio > wrote: > > > > On Thu, 14 Mar 2024 at 13:12, Robert Haas wrote: > > > > > > On Thu, Mar 14, 2024 at 7:22 AM Melih Mutlu > wrote: > > &

Re: Flushing large data immediately in pqcomm

2024-03-21 Thread Melih Mutlu
Heikki Linnakangas , 14 Mar 2024 Per, 15:46 tarihinde şunu yazdı: > On 14/03/2024 13:22, Melih Mutlu wrote: > > @@ -1282,14 +1283,32 @@ internal_putbytes(const char *s, size_t len) > > if (internal_flush()) > >

Re: Flushing large data immediately in pqcomm

2024-03-21 Thread Melih Mutlu
Hi, PSA v3. Jelte Fennema-Nio , 21 Mar 2024 Per, 12:58 tarihinde şunu yazdı: > On Thu, 21 Mar 2024 at 01:24, Melih Mutlu wrote: > > What if I do a simple comparison like PqSendStart == PqSendPointer > instead of calling pq_is_send_pending() > > Yeah, that sounds worth tryi

Re: Flushing large data immediately in pqcomm

2024-03-28 Thread Melih Mutlu
On Wed, Mar 27, 2024 at 14:39 David Rowley wrote: > On Fri, 22 Mar 2024 at 12:46, Melih Mutlu wrote: > > I did all of the above changes and it seems like those resolved the > regression issue. > > Thanks for adjusting the patch. The numbers do look better, but on > lo

Re: Flushing large data immediately in pqcomm

2024-03-28 Thread Melih Mutlu
On Wed, Mar 27, 2024 at 18:54 Robert Haas wrote: > On Wed, Mar 27, 2024 at 7:39 AM David Rowley wrote: > > Robert, I understand you'd like a bit more from this patch. I'm > > wondering if you planning on blocking another committer from going > > ahead with this? Or if you have a reason why the c

Re: Separate memory contexts for relcache and catcache

2024-04-03 Thread Melih Mutlu
vignesh C , 27 Oca 2024 Cmt, 06:01 tarihinde şunu yazdı: > On Wed, 3 Jan 2024 at 16:56, Melih Mutlu wrote: > CFBot shows that the patch does not apply anymore as in [1]: > === Applying patches on top of PostgreSQL commit ID > 729439607ad210dbb446e31754e8627d7e3f7dda === > ===

Re: Parent/child context relation in pg_get_backend_memory_contexts()

2024-04-03 Thread Melih Mutlu
that particular name, is actually included in the path. I couldn't find any other information that is unique to each context. Thanks, -- Melih Mutlu Microsoft

Re: Flushing large data immediately in pqcomm

2024-04-04 Thread Melih Mutlu
Hi, Melih Mutlu , 28 Mar 2024 Per, 22:44 tarihinde şunu yazdı: > > On Wed, Mar 27, 2024 at 14:39 David Rowley wrote: >> >> On Fri, 22 Mar 2024 at 12:46, Melih Mutlu wrote: >> can you confirm if the test was done in debug with casserts on? If >> so, it would be m

Re: Flushing large data immediately in pqcomm

2024-04-04 Thread Melih Mutlu
Jelte Fennema-Nio , 4 Nis 2024 Per, 16:34 tarihinde şunu yazdı: > On Thu, 4 Apr 2024 at 13:08, Melih Mutlu wrote: > > I changed internal_flush() to an inline function, results look better > this way. > > It seems you also change internal_flush_buffer to be inline (but on

Re: Flushing large data immediately in pqcomm

2024-04-07 Thread Melih Mutlu
David Rowley , 6 Nis 2024 Cmt, 04:34 tarihinde şunu yazdı: > Does anyone else want to try the attached script on the v5 patch to > see if their numbers are better? > I'm seeing the below results with your script on my machine (). I ran it several times, results were almost similar each time. mas

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-12-15 Thread Melih Mutlu
rease, as expected. I would appreciate any feedback/thought on the approach/patch/numbers etc. Thanks, -- Melih Mutlu Microsoft v2-0001-Add-replication-protocol-cmd-to-create-a-snapshot.patch Description: Binary data v5-0002-Reuse-Logical-Replication-Background-worker.patch Description: Binary data

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-12-20 Thread Melih Mutlu
MB | 1 GB -- master | 27751.463 ms | 312424.999 ms -- patch | 27342.760 ms | 310021.767 ms Best, -- Melih Mutlu Microsoft

Apply worker fails if a relation is missing on subscriber even if refresh publication has not been refreshed yet

2022-12-22 Thread Melih Mutlu
n't be in there until the next REFRESH PUBLICATION, missing those tables won't be a problem for existing subscriptions. [1] https://www.postgresql.org/docs/current/sql-altersubscription.html Thanks, -- Melih Mutlu Microsoft 0001-Do-not-apply-for-tables-which-not-exist-on-catalog.patch Description: Binary data

Re: Apply worker fails if a relation is missing on subscriber even if refresh publication has not been refreshed yet

2022-12-26 Thread Melih Mutlu
replicated yet. This issue will also be visible in the logs, just not as an error. And if users decide/remember to refresh the publication, they cannot do that anyway if the table is still missing on the subscriber. So the REFRESH PUBLICATION command will fail and then users will see an error log. Best, -- Melih Mutlu Microsoft

Re: [feature]COPY FROM enable FORCE_NULL/FORCE_NOT_NULL on all columns

2022-12-27 Thread Melih Mutlu
state->opts.force_null_all) >attnums = cstate->attnumlist; > else >attnums = CopyGetAttnums(tupDesc, cstate->rel, cstate->opts.force_null); Thanks, -- Melih Mutlu Microsoft

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-01-03 Thread Melih Mutlu
Hi hackers, Sending an updated version of this patch to get rid of compiler warnings. I would highly appreciate any feedback. Thanks, -- Melih Mutlu Microsoft v2-0001-Add-replication-protocol-cmd-to-create-a-snapshot.patch Description: Binary data v6-0002-Reuse-Logical-Replication

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-01-11 Thread Melih Mutlu
Hi hackers, Rebased the patch to resolve conflicts. Best, -- Melih Mutlu Microsoft v3-0001-Add-replication-protocol-cmd-to-create-a-snapshot.patch Description: Binary data v7-0002-Reuse-Logical-Replication-Background-worker.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2023-01-11 Thread Melih Mutlu
Hi, Thanks for your review. shiy.f...@fujitsu.com , 11 Oca 2023 Çar, 11:56 tarihinde şunu yazdı: > On Mon, Nov 14, 2022 8:08 PM Melih Mutlu wrote: > 1. > +# Binary enabled subscription should fail > +$node_subscriber_binary->wait_for_log("ERROR: insufficient da

Re: Allow logical replication to copy tables in binary format

2023-01-12 Thread Melih Mutlu
Hi, Thanks for your reviews. Takamichi Osumi (Fujitsu) , 12 Oca 2023 Per, 06:07 tarihinde şunu yazdı: > On Wednesday, January 11, 2023 7:45 PM Melih Mutlu > wrote: > (1-1) There is no need to log the version and the query by elog here. > (1-2) Also, I suggest we can remove the se

Re: Time delayed LR (WAS Re: logical replication restrictions)

2023-01-12 Thread Melih Mutlu
elay really changed as a result? But also I see that subscription.sql already tests this ALTER SUBSCRIPTION behaviour. Best, -- Melih Mutlu Microsoft

Re: pg_stat_io for the startup process

2023-04-26 Thread Melih Mutlu
ense to use PGSTAT_MIN/MAX/IDLE_INTERVAL instead? 2- I'm also not sure if this timeout should be registered at the beginning of StartupProcessMain, or does it even make any difference. I tried to do this just before the main redo loop in PerformWalRecovery, but that made the CI red. Best, -- Melih Mutlu Microsoft 0001-Add-timeout-to-flush-stats-during-startup-s-main-replay-loop.patch Description: Binary data

Re: pg_stat_io for the startup process

2023-05-03 Thread Melih Mutlu
ProcInterrupts take a parameter to decide whether the timer needs to be armed? Or need to add an additional global flag to rearm the timer? Any thoughts? [1] https://api.cirrus-ci.com/v1/artifact/task/5282291971260416/testrun/build/testrun/recovery/010_logical_decoding_timelines/log/010_logical_decoding_timelines_replica.log Best, -- Melih Mutlu Microsoft v2-0001-Add-timeout-to-flush-stats-during-startup-s-main-replay-loop.patch Description: Binary data

Re: Subscription statistics are not dropped at DROP SUBSCRIPTION in some cases

2023-05-10 Thread Melih Mutlu
transaction fails for some reason, as you explained. IMO, the patch will be OK after commit message is added. Thanks, -- Melih Mutlu Microsoft

Re: Mingw task for Cirrus CI

2022-04-08 Thread Melih Mutlu
Hi Andrew, You should set MSYSTEM=UCRT64 in the environment section. Given that, > there should be no need to specify a --host= setting for configure. > It's set to UCRT64 in the docker image side [1]. I didn't know --host isn't necessary on UCRT64 environment. I'll remove it then. [1] https:

Re: Mingw task for Cirrus CI

2022-04-08 Thread Melih Mutlu
> On windows that makes prep_buildtree go from 42.4s to 5.8s for me. > I applied Andres's faster prep build tree changes and triggered some cirrus runs Without these changes, preparing build tree was taking around 42.3s (sometimes even more) [1] It seems like with these changes it drops to around

Building Postgres with lz4 on Visual Studio

2022-04-13 Thread Melih Mutlu
Hi all, I tried to build Postgres from source using Visual Studio 19. It worked all good. Then I wanted to build it with some dependencies, started with the ones listed here [1]. But I'm having some issues with lz4. First I downloaded the latest release of lz4 from this link [2]. Modified the src

Re: Parent/child context relation in pg_get_backend_memory_contexts()

2023-10-23 Thread Melih Mutlu
( > ( > (SELECT sum(total_bytes) FROM contexts WHERE ARRAY[a.id] <@ path) > + total_bytes > ), > total_bytes > ) AS total_bytes_including_children > FROM contexts a; > I added a "total_bytes_including_children" column as you suggest

Flushing large data immediately in pqcomm

2023-11-20 Thread Melih Mutlu
#x27;dummy', 100) AS name, NOW() AS time FROM generate_series(1, 1) AS i; Thanks, -- Melih Mutlu Microsoft 0001-Flush-large-data-immediately-in-pqcomm.patch Description: Binary data

Re: Separate memory contexts for relcache and catcache

2024-01-03 Thread Melih Mutlu
this check everywhere... > That would be nice. Do you have a suggestion about where that right place would be? I'd just delete these comments, they're just pointlessly restating the code. > Done. Thanks, -- Melih Mutlu Microsoft v2-0001-Separate-memory-contexts-for-relcache-and-catcach.patch Description: Binary data

Re: Parent/child context relation in pg_get_backend_memory_contexts()

2024-01-03 Thread Melih Mutlu
pg_backend_memory_contex.patch > > ../patch/pg_backend_memory_context_refine/v3-0001-Adding-id-parent_id-into-pg_backend_memory_contex.patch:282: > > trailing whitespace. >select count(*) > 0 > > ../patch/pg_backend_memory_context_refine/v3-0001-Adding-id-parent_id-into-pg_

Re: Allow logical replication to copy tables in binary format

2022-11-14 Thread Melih Mutlu
Hello, osumi.takami...@fujitsu.com , 12 Eki 2022 Çar, 04:36 tarihinde şunu yazdı: > > I agree with the direction to support binary copy for v16 and > later. > > > > IIUC, the binary format replication with different data types > fails even > > during apply phase on HEAD. > > I t

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-12-05 Thread Melih Mutlu
some numbers to compare performances of the patch and master branch soon. [1] https://www.postgresql.org/message-id/flat/20220714115155.GA5439%40depesz.com Best, -- Melih Mutlu Microsoft 0001-Add-replication-protocol-cmd-to-create-a-snapshot.patch Description: Binary data v4-0002-Reuse-Logical-Replication-Background-worker.patch Description: Binary data

Re: Improve tab completion for ALTER FUNCTION/PROCEDURE/ROUTINE

2022-12-06 Thread Melih Mutlu
do you think about gathering FUNCTION options as you did with ROUTINE options. Something like the following would seem nicer, I think. #define Alter_function_options \ > Alter_routine_options, "CALLED ON NULL INPUT", \ "RETURNS NULL ON NULL INPUT", "STRICT", "SUPPORT" Best, -- Melih Mutlu Microsoft

Re: wake up logical workers after ALTER SUBSCRIPTION

2022-12-06 Thread Melih Mutlu
state is SYNCDONE and the apply worker has to wake up to change the state to READY. I think we already call logicalrep_worker_wakeup_ptr wherever it's needed for the above cases? What am I missing here? Best, -- Melih Mutlu Microsoft

Re: Improve tab completion for ALTER FUNCTION/PROCEDURE/ROUTINE

2022-12-07 Thread Melih Mutlu
Hi, vignesh C , 6 Ara 2022 Sal, 22:12 tarihinde şunu yazdı: > I did not make it as a macro for alter function options as it is used > only in one place whereas the others were required in more than one > place. > Okay, makes sense. I tested the patch and it worked for me. Best, --

Re: wake up logical workers after ALTER SUBSCRIPTION

2022-12-07 Thread Melih Mutlu
harm anything though. Just asking since currently the patch wakes up all workers including sync workers if any still exists. Best, -- Melih Mutlu Microsoft

Re: [PATCH] psql: Add tab-complete for optional view parameters

2022-12-08 Thread Melih Mutlu
quot;) ? /* ALTER VIEW */ > else if (Matches("ALTER", "VIEW", MatchAny)) > COMPLETE_WITH("ALTER COLUMN", "OWNER TO", "RENAME", > "SET SCHEMA"); Also seems like SET and RESET don't get auto-completed for "ALTER VIEW ". I think it would be nice to include those missing words. Thanks, -- Melih Mutlu Microsoft

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-01-23 Thread Melih Mutlu
Hi, Thanks for your review. Attached updated versions of the patches. wangw.f...@fujitsu.com , 17 Oca 2023 Sal, 14:15 tarihinde şunu yazdı: > On Wed, Jan 11, 2023 4:31 PM Melih Mutlu wrote: > v3-0001* patch > === > > 1. typedefs.list > I think w

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-01-26 Thread Melih Mutlu
Hi Shveta, Thanks for reviewing. shveta malik , 25 Oca 2023 Çar, 16:02 tarihinde şunu yazdı: > On Mon, Jan 23, 2023 at 6:30 PM Melih Mutlu > wrote: > --I see initial data copied, but new catalog columns srrelslotname > and srreloriginname are not updated: > postgres=# select sub

Re: Allow logical replication to copy tables in binary format

2023-01-30 Thread Melih Mutlu
Hi Bharath, Thanks for reviewing. Bharath Rupireddy , 18 Oca 2023 Çar, 10:17 tarihinde şunu yazdı: > On Thu, Jan 12, 2023 at 1:53 PM Melih Mutlu > wrote: > 1. The performance numbers posted upthread [1] look impressive for the > use-case tried, that's a 2.25X improvement or 5

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-01 Thread Melih Mutlu
Hi, Please see attached patches for the below changes. shveta malik , 27 Oca 2023 Cum, 13:12 tarihinde şunu yazdı: > On Thu, Jan 26, 2023 at 7:53 PM Melih Mutlu > wrote: > 1. > --Can we please add a few more points to the Summary to make it more clear. > a) something telling t

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-01 Thread Melih Mutlu
onal? I see that we do set this > correct xmin_horizon in builder->initial_xmin_horizon but the slot is > carrying Invalid one. > I think you're right. Moved GetOldestSafeDecodingTransactionId call before xmin_horizon assignment. Thanks, -- Melih Mutlu Microsoft v6-0001-Add-replication-protocol-cmd-to-create-a-snapshot.patch Description: Binary data v10-0002-Reuse-Logical-Replication-Background-worker.patch Description: Binary data

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-01 Thread Melih Mutlu
for pointing out this review. I somehow skipped that, sorry. Please see attached patches. shiy.f...@fujitsu.com , 17 Oca 2023 Sal, 10:46 tarihinde şunu yazdı: > On Wed, Jan 11, 2023 4:31 PM Melih Mutlu wrote: > 0001 patch > > 1. walsender.c > + /* Create a

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-01 Thread Melih Mutlu
Hi Shveta, shveta malik , 1 Şub 2023 Çar, 15:01 tarihinde şunu yazdı: > On Wed, Feb 1, 2023 at 5:05 PM Melih Mutlu wrote: > 2) I found a crash in the previous patch (v9), but have not tested it > on the latest yet. Crash happens when all the replication slots are > consumed and we a

Re: Allow logical replication to copy tables in binary format

2023-02-16 Thread Melih Mutlu
Hi, Please see the attached patch for following changes. Bharath Rupireddy , 30 Oca 2023 Pzt, 15:34 tarihinde şunu yazdı: > On Mon, Jan 30, 2023 at 4:19 PM Melih Mutlu > wrote: It'd be better and clearer to have a separate TAP test file IMO since > the focus of the feature here

Re: Allow logical replication to copy tables in binary format

2023-02-16 Thread Melih Mutlu
ou and other reviewers. > > Kindly let me know your status. > Sorry for the delay. This patch is currently one of my priorities. Hopefully I will share quicker updates from now on. [1] https://www.postgresql.org/message-id/CAGPVpCQYi9AYQSS%3DRmGgVNjz5ZEnLB8mACwd9aioVhLmbgiAMA%40mail.gmail.com Thanks, -- Melih Mutlu Microsoft

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2023-02-16 Thread Melih Mutlu
s limit in case of such failures between origin creation and FINISHEDCOPY. One fix I can think is to update the catalog right after creating a new origin. But this would also require commiting the current transaction to actually persist the originname. I guess this action of commiting the transaction in the middle of initial sync could hurt the copy process. What do you think? Also; working on an updated patch to address your other comments. Thanks again. Best, -- Melih Mutlu Microsoft

Re: Allow logical replication to copy tables in binary format

2023-02-20 Thread Melih Mutlu
Hi, Hayato Kuroda (Fujitsu) , 20 Şub 2023 Pzt, 10:12 tarihinde şunu yazdı: > Dear Melih, > > Thank you for updating the patch. Before reviewing, I found that > cfbot have not accepted v8 patch [1]. > Thanks for letting me know. Attached the fixed version of the patch. Best,

Re: Allow logical replication to copy tables in binary format

2023-02-20 Thread Melih Mutlu
Amit Kapila , 16 Şub 2023 Per, 15:47 tarihinde şunu yazdı: > On Mon, Jan 30, 2023 at 4:19 PM Melih Mutlu > wrote: > >> 8. Note that the COPY binary format isn't portable across platforms > >> (Windows to Linux for instance) or major versions > >> htt

Re: Summary function for pg_buffercache

2022-09-23 Thread Melih Mutlu
Hi Andres, Adjusted the patch so that it will work with meson now. Also addressed your other reviews as well. I hope explanations in comments/docs are better now. Best, Melih v11-0001-Added-pg_buffercache_summary-function.patch Description: Binary data

Re: Summary function for pg_buffercache

2022-09-28 Thread Melih Mutlu
Hi all, The patch needed a rebase due to recent changes on pg_buffercache. You can find the updated version attached. Best, Melih v12-0001-Added-pg_buffercache_summary-function.patch Description: Binary data

Re: Summary function for pg_buffercache

2022-09-28 Thread Melih Mutlu
Zhang Mingli , 28 Eyl 2022 Çar, 17:31 tarihinde şunu yazdı: > Why compute usagecount_avg twice? > I should have removed the first one, but I think I missed it. Nice catch. Attached an updated version. Thanks, Melih v13-0001-Added-pg_buffercache_summary-function.patch Description: Binary data

Re: Summary function for pg_buffercache

2022-09-28 Thread Melih Mutlu
Hi, Seems like the commit a448e49bcbe40fb72e1ed85af910dd216d45bad8 reverts the changes on pg_buffercache. Why compute usagecount_avg twice? > Then, I'm going back to v11 + the fix for this. Thanks, Melih v14-0001-Added-pg_buffercache_summary-function.patch Description: Binary data

Re: Allow logical replication to copy tables in binary format

2022-10-03 Thread Melih Mutlu
Hi Takamichi, Thanks for your reviews. I addressed your reviews, please find the attached patch. osumi.takami...@fujitsu.com , 16 Eyl 2022 Cum, 16:51 tarihinde şunu yazdı: > (1) whitespace issues > Fixed (2) Suggestion to update another general description about the subscription > > Kindly ha

Re: Mingw task for Cirrus CI

2022-10-07 Thread Melih Mutlu
Hi hackers. Andres Freund , 22 Eyl 2022 Per, 20:03 tarihinde şunu yazdı: > Now that meson has been merged, could you try to adjust this patch so it > builds with meson? > Attached patch is the adjusted version to build with meson. Add a commented-out trigger-type: manual and note in the commit

Re: Mingw task for Cirrus CI

2022-10-18 Thread Melih Mutlu
Hi Andres, Andres Freund , 11 Eki 2022 Sal, 21:23 tarihinde şunu yazdı: > I think it might be easier to just set MSYS=winjitdebug > > https://www.msys2.org/wiki/JIT-Debugging/#native-windows-processes-started-from-msys2 > and then rely on the existing windows crash reporting stuff. > Done. > Y

Re: Mingw task for Cirrus CI

2022-10-18 Thread Melih Mutlu
Hi Bilal, Nazir Bilal Yavuz , 18 Eki 2022 Sal, 15:37 tarihinde şunu yazdı: > env: > ... > CHERE_INVOKING: 1 > BASH_EXE: C:\msys64\usr\bin\bash.exe > > 'CHERE_INVOKING: 1' will cause bash.exe to start from current working > directory(%CIRRUS_WORKING_DIR%). > > In this way, there is no

Re: Mingw task for Cirrus CI

2022-10-19 Thread Melih Mutlu
Hi, Andres Freund , 19 Eki 2022 Çar, 06:19 tarihinde şunu yazdı: > It's a bit odd to separate the CCACHE_* variables from each other > (e.g. BUILD_DIR is inbetween them)... > > Perhaps add a comment explaining that otherwise plpython tests fail? > With this src/tools/ci/cores_backtrace.sh shoul

Re: Mingw task for Cirrus CI

2022-10-24 Thread Melih Mutlu
Hi, > > + > > + on_failure: > > +<<: *on_failure_meson > > +cores_script: | > > + %BASH_EXE% -lc "cd build src/tools/ci/cores_backtrace.sh msys > build/tmp_install" > > + > > This is wrong - it should just archive the same files that the current > windows > task does. > Changed it

[PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-07-05 Thread Melih Mutlu
Hi hackers, I created a patch to reuse tablesync workers and their replication slots for more tables that are not synced yet. So that overhead of creating and dropping workers/replication slots can be reduced. Current version of logical replication has two steps: tablesync and apply. In tablesync

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-07-08 Thread Melih Mutlu
Hi Amit and Dilip, Thanks for the replies. > > I had a quick look into the patch and it seems it is using the worker > > array index instead of relid while forming the slot name > Yes, I changed the slot names so they include slot index instead of relation id. This was needed because I aimed to

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-07-08 Thread Melih Mutlu
> > It seems from your results that performance degrades for large > relations. Did you try to investigate the reasons for the same? > I have not tried to investigate the performance degradation for large relations yet. Once I'm done with changes for the slot usage, I'll look into this and come wi

Re: logical replication restrictions

2022-07-13 Thread Melih Mutlu
Hi Euler, I've some comments/questions about the latest version (v4) of your patch. Firstly, I think the patch needs a rebase. CI currently cannot apply it [1]. 22. src/test/subscription/t/032_apply_delay.pl > > I received the following error when trying to run these 'subscription' > tests: > >

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-07-27 Thread Melih Mutlu
Hi Amit, I updated the patch in order to prevent the problems that might be caused by using different replication slots for syncing a table. As suggested in previous emails, replication slot names are stored in the catalog. So slot names can be reached later and it is ensured that same replication

Re: Mingw task for Cirrus CI

2022-07-28 Thread Melih Mutlu
Hi hackers, I'm sharing the rebased version of this patch, if you're still interested. I would appreciate any feedback or concerns. Best, Melih Andrew Dunstan , 9 Nis 2022 Cmt, 19:34 tarihinde şunu yazdı: > > On 4/8/22 21:02, Andres Freund wrote: > > Hi, > > > > On 2022-04-08 19:27:58 -0500,

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-07-28 Thread Melih Mutlu
> > Why after step 4, do you need to drop the replication slot? Won't just > clearing the required info from the catalog be sufficient? > The replication slots that we read from the catalog will not be used for anything else after we're done with syncing the table which the rep slot belongs to. It

Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication

2022-08-05 Thread Melih Mutlu
Hi Amit, >> Why after step 4, do you need to drop the replication slot? Won't just > >> clearing the required info from the catalog be sufficient? > > > > > > The replication slots that we read from the catalog will not be used for > anything else after we're done with syncing the table which the

Allow logical replication to copy tables in binary format

2022-08-10 Thread Melih Mutlu
Hey hackers, I see that logical replication subscriptions have an option to enable binary [1]. When it's enabled, subscription requests publisher to send data in binary format. But this is only the case for apply phase. In tablesync, tables are still copied as text. To copy tables, COPY command i

Re: Allow logical replication to copy tables in binary format

2022-08-11 Thread Melih Mutlu
Euler Taveira , 11 Ağu 2022 Per, 16:27 tarihinde şunu yazdı: > On Thu, Aug 11, 2022, at 8:04 AM, Amit Kapila wrote: > > On Thu, Aug 11, 2022 at 7:34 AM Euler Taveira wrote: > > > > The reason to use text format is that it is error prone. There are > restrictions > > while using the binary format.

  1   2   >