orez 0.0.26 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -238,6 +238,14 @@ pg_restore options:
238
238
  --clean drop and recreate public schema before restoring
239
239
  ```
240
240
 
241
+ Restore streams the dump file statement-by-statement so it can handle large dumps without loading everything into memory. It also automatically filters out things PGlite can't handle:
242
+
243
+ - Extensions not available in PGlite (`pg_stat_statements`, `pg_buffercache`, `pg_cron`, etc.)
244
+ - `SET transaction_timeout` (PostgreSQL 18+ artifact)
245
+ - psql meta-commands like `\restrict`
246
+
247
+ This means you can take a dump from a production Postgres database and restore it directly into orez — unsupported statements are silently skipped and the rest executes normally.
248
+
241
249
  orez must not be running when using these commands — PGlite data directories are single-process. The commands will detect a locked database and tell you to stop orez first.
242
250
 
243
251
  Standard Postgres tools (`pg_dump`, `pg_restore`, `psql`) also work against the running proxy since orez presents a standard PostgreSQL 16.4 version string over the wire.
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from 'node:child_process';
3
- import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { existsSync, writeFileSync } from 'node:fs';
4
4
  import { resolve } from 'node:path';
5
5
  import { defineCommand, runMain } from 'citty';
6
6
  import { startZeroLite } from './index.js';
@@ -96,6 +96,72 @@ const pgDumpCommand = defineCommand({
96
96
  }
97
97
  },
98
98
  });
99
+ // extensions that don't exist in pglite — skip during restore
100
+ const UNSUPPORTED_EXTENSIONS = new Set([
101
+ 'pg_stat_statements',
102
+ 'pg_buffercache',
103
+ 'pg_freespacemap',
104
+ 'pg_prewarm',
105
+ 'pg_stat_kcache',
106
+ 'pg_wait_sampling',
107
+ 'auto_explain',
108
+ 'pg_cron',
109
+ ]);
110
+ // check if a statement should be skipped during restore
111
+ function shouldSkipStatement(stmt) {
112
+ const trimmed = stmt.trimStart();
113
+ // skip psql meta-commands like \restrict
114
+ if (trimmed.startsWith('\\'))
115
+ return true;
116
+ // skip SET transaction_timeout (pg 18+ artifact)
117
+ if (/^SET\s+transaction_timeout\b/i.test(trimmed))
118
+ return true;
119
+ // skip CREATE/DROP/COMMENT ON unsupported extensions
120
+ const extMatch = trimmed.match(/^(?:CREATE\s+EXTENSION|DROP\s+EXTENSION|COMMENT\s+ON\s+EXTENSION)\b.*?\b(\w+)/i);
121
+ if (extMatch && UNSUPPORTED_EXTENSIONS.has(extMatch[1]))
122
+ return true;
123
+ return false;
124
+ }
125
+ // stream a sql dump file statement-by-statement, skipping unsupported ones
126
+ async function execDumpFile(db, filePath) {
127
+ const { createReadStream } = await import('node:fs');
128
+ const { createInterface } = await import('node:readline');
129
+ const rl = createInterface({
130
+ input: createReadStream(filePath, 'utf-8'),
131
+ crlfDelay: Infinity,
132
+ });
133
+ let buf = '';
134
+ let executed = 0;
135
+ let skipped = 0;
136
+ for await (const line of rl) {
137
+ // skip empty lines and sql comments
138
+ if (line === '' || line.startsWith('--'))
139
+ continue;
140
+ buf += (buf ? '\n' : '') + line;
141
+ // statements end with ; at end of line (pg_dump always formats this way)
142
+ if (!line.trimEnd().endsWith(';'))
143
+ continue;
144
+ const stmt = buf;
145
+ buf = '';
146
+ if (shouldSkipStatement(stmt)) {
147
+ skipped++;
148
+ continue;
149
+ }
150
+ await db.exec(stmt);
151
+ executed++;
152
+ }
153
+ // flush any remaining buffer
154
+ if (buf.trim()) {
155
+ if (!shouldSkipStatement(buf)) {
156
+ await db.exec(buf);
157
+ executed++;
158
+ }
159
+ else {
160
+ skipped++;
161
+ }
162
+ }
163
+ return { executed, skipped };
164
+ }
99
165
  const pgRestoreCommand = defineCommand({
100
166
  meta: {
101
167
  name: 'pg_restore',
@@ -128,7 +194,6 @@ const pgRestoreCommand = defineCommand({
128
194
  process.exit(1);
129
195
  }
130
196
  const dataPath = resolve(args['data-dir'], 'pgdata-postgres');
131
- const sql = readFileSync(sqlFile, 'utf-8');
132
197
  let db;
133
198
  try {
134
199
  db = new PGlite({
@@ -141,8 +206,8 @@ const pgRestoreCommand = defineCommand({
141
206
  await db.exec('DROP SCHEMA public CASCADE');
142
207
  await db.exec('CREATE SCHEMA public');
143
208
  }
144
- await db.exec(sql);
145
- log.orez(`restored ${sqlFile} into ${dataPath}`);
209
+ const { executed, skipped } = await execDumpFile(db, sqlFile);
210
+ log.orez(`restored ${sqlFile} into ${dataPath} (${executed} statements, ${skipped} skipped)`);
146
211
  }
147
212
  catch (err) {
148
213
  if (err?.message?.includes('lock')) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-proxy.d.ts","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAA;AAQjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAwOlD,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,eAAe,EACjC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,CAAC,CAiJjB"}
1
+ {"version":3,"file":"pg-proxy.d.ts","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAA;AAQjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAuQlD,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,eAAe,EACjC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,CAAC,CA2JjB"}
package/dist/pg-proxy.js CHANGED
@@ -52,6 +52,35 @@ const QUERY_REWRITES = [
52
52
  replace: 'public._zero_replication_slots',
53
53
  },
54
54
  ];
55
+ // parameter status messages sent during connection handshake
56
+ // pg_restore and other tools read these to determine server capabilities
57
+ const SERVER_PARAMS = [
58
+ ['server_encoding', 'UTF8'],
59
+ ['client_encoding', 'UTF8'],
60
+ ['DateStyle', 'ISO, MDY'],
61
+ ['integer_datetimes', 'on'],
62
+ ['standard_conforming_strings', 'on'],
63
+ ['TimeZone', 'UTC'],
64
+ ['IntervalStyle', 'postgres'],
65
+ ];
66
+ // build a ParameterStatus wire protocol message (type 'S', 0x53)
67
+ function buildParameterStatus(name, value) {
68
+ const encoder = new TextEncoder();
69
+ const nameBytes = encoder.encode(name);
70
+ const valueBytes = encoder.encode(value);
71
+ const len = 4 + nameBytes.length + 1 + valueBytes.length + 1;
72
+ const buf = new Uint8Array(1 + len);
73
+ buf[0] = 0x53; // 'S'
74
+ new DataView(buf.buffer).setInt32(1, len);
75
+ let pos = 5;
76
+ buf.set(nameBytes, pos);
77
+ pos += nameBytes.length;
78
+ buf[pos++] = 0;
79
+ buf.set(valueBytes, pos);
80
+ pos += valueBytes.length;
81
+ buf[pos] = 0;
82
+ return buf;
83
+ }
55
84
  // queries to intercept and return no-op success (synthetic SET response)
56
85
  // pglite rejects SET TRANSACTION if any query (e.g. SET search_path) ran first
57
86
  const NOOP_QUERY_PATTERNS = [/^\s*SET\s+TRANSACTION\b/i, /^\s*SET\s+SESSION\b/i];
@@ -272,6 +301,7 @@ export async function startPgProxy(dbInput, config) {
272
301
  });
273
302
  try {
274
303
  const connection = await fromNodeSocket(socket, {
304
+ serverVersion: '16.4',
275
305
  auth: {
276
306
  method: 'password',
277
307
  getClearTextPassword() {
@@ -282,6 +312,14 @@ export async function startPgProxy(dbInput, config) {
282
312
  credentials.username === config.pgUser);
283
313
  },
284
314
  },
315
+ // send ParameterStatus messages that standard postgres tools expect
316
+ // pg-gateway sends server_version via the serverVersion option above,
317
+ // but tools like pg_restore also need encoding, datestyle, etc.
318
+ onAuthenticated() {
319
+ for (const [name, value] of SERVER_PARAMS) {
320
+ socket.write(buildParameterStatus(name, value));
321
+ }
322
+ },
285
323
  async onStartup(state) {
286
324
  const params = state.clientParams;
287
325
  if (params?.replication === 'database') {
@@ -1 +1 @@
1
- {"version":3,"file":"pg-proxy.js","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg-proxy.js","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "@electric-sql/pglite": "^0.2.17",
47
47
  "@electric-sql/pglite-tools": "0.2.4",
48
48
  "@rocicorp/zero": ">=0.1.0",
49
- "bedrock-sqlite": "0.0.18",
49
+ "bedrock-sqlite": "0.0.19",
50
50
  "citty": "^0.2.0",
51
51
  "pg-gateway": "^0.3.0-beta.4"
52
52
  },
package/src/cli.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from 'node:child_process'
3
- import { existsSync, readFileSync, writeFileSync } from 'node:fs'
3
+ import { existsSync, writeFileSync } from 'node:fs'
4
4
  import { resolve } from 'node:path'
5
5
 
6
6
  import { defineCommand, runMain } from 'citty'
@@ -104,6 +104,84 @@ const pgDumpCommand = defineCommand({
104
104
  },
105
105
  })
106
106
 
107
+ // extensions that don't exist in pglite — skip during restore
108
+ const UNSUPPORTED_EXTENSIONS = new Set([
109
+ 'pg_stat_statements',
110
+ 'pg_buffercache',
111
+ 'pg_freespacemap',
112
+ 'pg_prewarm',
113
+ 'pg_stat_kcache',
114
+ 'pg_wait_sampling',
115
+ 'auto_explain',
116
+ 'pg_cron',
117
+ ])
118
+
119
+ // check if a statement should be skipped during restore
120
+ function shouldSkipStatement(stmt: string): boolean {
121
+ const trimmed = stmt.trimStart()
122
+ // skip psql meta-commands like \restrict
123
+ if (trimmed.startsWith('\\')) return true
124
+ // skip SET transaction_timeout (pg 18+ artifact)
125
+ if (/^SET\s+transaction_timeout\b/i.test(trimmed)) return true
126
+ // skip CREATE/DROP/COMMENT ON unsupported extensions
127
+ const extMatch = trimmed.match(
128
+ /^(?:CREATE\s+EXTENSION|DROP\s+EXTENSION|COMMENT\s+ON\s+EXTENSION)\b.*?\b(\w+)/i
129
+ )
130
+ if (extMatch && UNSUPPORTED_EXTENSIONS.has(extMatch[1])) return true
131
+ return false
132
+ }
133
+
134
+ // stream a sql dump file statement-by-statement, skipping unsupported ones
135
+ async function execDumpFile(
136
+ db: { exec: (sql: string) => Promise<unknown> },
137
+ filePath: string
138
+ ): Promise<{ executed: number; skipped: number }> {
139
+ const { createReadStream } = await import('node:fs')
140
+ const { createInterface } = await import('node:readline')
141
+
142
+ const rl = createInterface({
143
+ input: createReadStream(filePath, 'utf-8'),
144
+ crlfDelay: Infinity,
145
+ })
146
+
147
+ let buf = ''
148
+ let executed = 0
149
+ let skipped = 0
150
+
151
+ for await (const line of rl) {
152
+ // skip empty lines and sql comments
153
+ if (line === '' || line.startsWith('--')) continue
154
+
155
+ buf += (buf ? '\n' : '') + line
156
+
157
+ // statements end with ; at end of line (pg_dump always formats this way)
158
+ if (!line.trimEnd().endsWith(';')) continue
159
+
160
+ const stmt = buf
161
+ buf = ''
162
+
163
+ if (shouldSkipStatement(stmt)) {
164
+ skipped++
165
+ continue
166
+ }
167
+
168
+ await db.exec(stmt)
169
+ executed++
170
+ }
171
+
172
+ // flush any remaining buffer
173
+ if (buf.trim()) {
174
+ if (!shouldSkipStatement(buf)) {
175
+ await db.exec(buf)
176
+ executed++
177
+ } else {
178
+ skipped++
179
+ }
180
+ }
181
+
182
+ return { executed, skipped }
183
+ }
184
+
107
185
  const pgRestoreCommand = defineCommand({
108
186
  meta: {
109
187
  name: 'pg_restore',
@@ -138,7 +216,6 @@ const pgRestoreCommand = defineCommand({
138
216
  }
139
217
 
140
218
  const dataPath = resolve(args['data-dir'], 'pgdata-postgres')
141
- const sql = readFileSync(sqlFile, 'utf-8')
142
219
 
143
220
  let db: InstanceType<typeof PGlite> | undefined
144
221
  try {
@@ -154,8 +231,10 @@ const pgRestoreCommand = defineCommand({
154
231
  await db.exec('CREATE SCHEMA public')
155
232
  }
156
233
 
157
- await db.exec(sql)
158
- log.orez(`restored ${sqlFile} into ${dataPath}`)
234
+ const { executed, skipped } = await execDumpFile(db, sqlFile)
235
+ log.orez(
236
+ `restored ${sqlFile} into ${dataPath} (${executed} statements, ${skipped} skipped)`
237
+ )
159
238
  } catch (err: any) {
160
239
  if (err?.message?.includes('lock')) {
161
240
  console.error(
package/src/pg-proxy.ts CHANGED
@@ -64,6 +64,37 @@ const QUERY_REWRITES: Array<{ match: RegExp; replace: string }> = [
64
64
  },
65
65
  ]
66
66
 
67
+ // parameter status messages sent during connection handshake
68
+ // pg_restore and other tools read these to determine server capabilities
69
+ const SERVER_PARAMS: [string, string][] = [
70
+ ['server_encoding', 'UTF8'],
71
+ ['client_encoding', 'UTF8'],
72
+ ['DateStyle', 'ISO, MDY'],
73
+ ['integer_datetimes', 'on'],
74
+ ['standard_conforming_strings', 'on'],
75
+ ['TimeZone', 'UTC'],
76
+ ['IntervalStyle', 'postgres'],
77
+ ]
78
+
79
+ // build a ParameterStatus wire protocol message (type 'S', 0x53)
80
+ function buildParameterStatus(name: string, value: string): Uint8Array {
81
+ const encoder = new TextEncoder()
82
+ const nameBytes = encoder.encode(name)
83
+ const valueBytes = encoder.encode(value)
84
+ const len = 4 + nameBytes.length + 1 + valueBytes.length + 1
85
+ const buf = new Uint8Array(1 + len)
86
+ buf[0] = 0x53 // 'S'
87
+ new DataView(buf.buffer).setInt32(1, len)
88
+ let pos = 5
89
+ buf.set(nameBytes, pos)
90
+ pos += nameBytes.length
91
+ buf[pos++] = 0
92
+ buf.set(valueBytes, pos)
93
+ pos += valueBytes.length
94
+ buf[pos] = 0
95
+ return buf
96
+ }
97
+
67
98
  // queries to intercept and return no-op success (synthetic SET response)
68
99
  // pglite rejects SET TRANSACTION if any query (e.g. SET search_path) ran first
69
100
  const NOOP_QUERY_PATTERNS: RegExp[] = [/^\s*SET\s+TRANSACTION\b/i, /^\s*SET\s+SESSION\b/i]
@@ -301,6 +332,7 @@ export async function startPgProxy(
301
332
 
302
333
  try {
303
334
  const connection = await fromNodeSocket(socket, {
335
+ serverVersion: '16.4',
304
336
  auth: {
305
337
  method: 'password',
306
338
  getClearTextPassword() {
@@ -318,6 +350,15 @@ export async function startPgProxy(
318
350
  },
319
351
  },
320
352
 
353
+ // send ParameterStatus messages that standard postgres tools expect
354
+ // pg-gateway sends server_version via the serverVersion option above,
355
+ // but tools like pg_restore also need encoding, datestyle, etc.
356
+ onAuthenticated() {
357
+ for (const [name, value] of SERVER_PARAMS) {
358
+ socket.write(buildParameterStatus(name, value))
359
+ }
360
+ },
361
+
321
362
  async onStartup(state) {
322
363
  const params = state.clientParams
323
364
  if (params?.replication === 'database') {