From 31204b027033763444d2ce7e0d7ec3c5f8a6381f Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 10:08:40 +0200 Subject: [PATCH 1/9] Postgres 18 introduced io_method=worker by default, which we dont support in PGlite, so disable it --- packages/pglite/src/pglite.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/pglite/src/pglite.ts b/packages/pglite/src/pglite.ts index 297efd2b8..9040f5f51 100644 --- a/packages/pglite/src/pglite.ts +++ b/packages/pglite/src/pglite.ts @@ -129,6 +129,8 @@ export class PGlite 'max_parallel_workers=0', '-c', 'max_parallel_workers_per_gather=0', + '-c', + 'io_method=sync' ] /** From 6a27ffb8fe22f333c92b05ff3fce9fd4b6ba81ad Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 10:09:10 +0200 Subject: [PATCH 2/9] style --- packages/pglite/src/pglite.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/pglite/src/pglite.ts b/packages/pglite/src/pglite.ts index 9040f5f51..fa1a09644 100644 --- a/packages/pglite/src/pglite.ts +++ b/packages/pglite/src/pglite.ts @@ -130,7 +130,7 @@ export class PGlite '-c', 'max_parallel_workers_per_gather=0', '-c', - 'io_method=sync' + 'io_method=sync', ] /** From 045ee0bae0379c69feabc1a0ff5cc70edeed5955 Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 10:09:43 +0200 Subject: [PATCH 3/9] update submodule --- postgres-pglite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgres-pglite b/postgres-pglite index 01792c31a..e0e152a14 160000 --- a/postgres-pglite +++ b/postgres-pglite @@ -1 +1 @@ -Subproject commit 01792c31a62b7045eb22e93d7dad022bb64b1184 +Subproject commit e0e152a14ba30f972c8f60679eea99afdd87716a From dd62adae79c4655e72967a9d107c0c91c5bd1dea Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 10:35:15 +0200 Subject: [PATCH 4/9] fix amcheck test --- packages/pglite/tests/contrib/amcheck.test.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/pglite/tests/contrib/amcheck.test.js b/packages/pglite/tests/contrib/amcheck.test.js index 87ec07efc..284dad4c7 100644 --- a/packages/pglite/tests/contrib/amcheck.test.js +++ b/packages/pglite/tests/contrib/amcheck.test.js @@ -33,17 +33,17 @@ it('amcheck', async () => { { bt_index_check: '', relname: 'pg_proc_proname_args_nsp_index', - relpages: 32, + relpages: 33, }, { bt_index_check: '', relname: 'pg_description_o_c_o_index', - relpages: 23, + relpages: 24, }, { bt_index_check: '', relname: 'pg_attribute_relid_attnam_index', - relpages: 15, + relpages: 16, }, { bt_index_check: '', @@ -67,17 +67,17 @@ it('amcheck', async () => { }, { bt_index_check: '', - relname: 'pg_amop_fam_strat_index', + relname: 'pg_operator_oprname_l_r_n_index', relpages: 6, }, { bt_index_check: '', - relname: 'pg_operator_oprname_l_r_n_index', + relname: 'pg_amop_fam_strat_index', relpages: 6, }, { bt_index_check: '', - relname: 'pg_amop_opr_fam_index', + relname: 'pg_class_relname_nsp_index', relpages: 6, }, ]) From 31ebe8bd51fdbdac7a400f6c068a8f0b6d6574ec Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 10:35:32 +0200 Subject: [PATCH 5/9] update submodule --- postgres-pglite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgres-pglite b/postgres-pglite index e0e152a14..0dcbc4475 160000 --- a/postgres-pglite +++ b/postgres-pglite @@ -1 +1 @@ -Subproject commit e0e152a14ba30f972c8f60679eea99afdd87716a +Subproject commit 0dcbc4475254b83342509aad6ea32dc60e27350c From cb6f55f668170850ed8eeefbcb3c5a35d50c4d1f Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 11:37:11 +0200 Subject: [PATCH 6/9] remove \\restrict and \\unrestrict from text dumps --- packages/pglite-tools/src/pg_dump.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/pglite-tools/src/pg_dump.ts b/packages/pglite-tools/src/pg_dump.ts index acd32dd2b..c544399a9 100644 --- a/packages/pglite-tools/src/pg_dump.ts +++ b/packages/pglite-tools/src/pg_dump.ts @@ -170,7 +170,10 @@ export async function pgDump({ ) } - const file = new File([execResult.fileContents], fileName, { + // remove \\restrict and \\unrestrict commands https://www.postgresql.org/docs/17/app-psql.html#APP-PSQL-META-COMMAND-RESTRICT + const contentsPruned = execResult.fileContents.replace(/^(?:\\(?:un)?restrict\b.*\r?\n?)/gim, ''); + + const file = new File([contentsPruned], fileName, { type: 'text/plain', }) From 4fa8350c665700ebb88175c369bd45d2becaad71 Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 11:37:28 +0200 Subject: [PATCH 7/9] style --- packages/pglite-tools/src/pg_dump.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/pglite-tools/src/pg_dump.ts b/packages/pglite-tools/src/pg_dump.ts index c544399a9..7fb2f1a23 100644 --- a/packages/pglite-tools/src/pg_dump.ts +++ b/packages/pglite-tools/src/pg_dump.ts @@ -171,7 +171,10 @@ export async function pgDump({ } // remove \\restrict and \\unrestrict commands https://www.postgresql.org/docs/17/app-psql.html#APP-PSQL-META-COMMAND-RESTRICT - const contentsPruned = execResult.fileContents.replace(/^(?:\\(?:un)?restrict\b.*\r?\n?)/gim, ''); + const contentsPruned = execResult.fileContents.replace( + /^(?:\\(?:un)?restrict\b.*\r?\n?)/gim, + '', + ) const file = new File([contentsPruned], fileName, { type: 'text/plain', From e83abdbd934b23247da4e3c4bf328f2275e92932 Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Thu, 7 May 2026 12:27:15 +0200 Subject: [PATCH 8/9] minor changeset --- .changeset/modern-cycles-work.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/modern-cycles-work.md diff --git a/.changeset/modern-cycles-work.md b/.changeset/modern-cycles-work.md new file mode 100644 index 000000000..8d3fb3878 --- /dev/null +++ b/.changeset/modern-cycles-work.md @@ -0,0 +1,5 @@ +--- +'@electric-sql/pglite': minor +--- + +Upgraded to PostgreSQL 18.3 From 4062401f34fb162f06ff0409e76e81f636533cef Mon Sep 17 00:00:00 2001 From: Tudor Zaharia Date: Mon, 18 May 2026 08:42:31 +0200 Subject: [PATCH 9/9] update submodule --- postgres-pglite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgres-pglite b/postgres-pglite index 0dcbc4475..20a1f741e 160000 --- a/postgres-pglite +++ b/postgres-pglite @@ -1 +1 @@ -Subproject commit 0dcbc4475254b83342509aad6ea32dc60e27350c +Subproject commit 20a1f741eeafcdde89cebb322a96e7607b45fb80