From ab9a817551d6427a7c38b45bc74de46033067386 Mon Sep 17 00:00:00 2001 From: Dotta Date: Fri, 1 May 2026 10:09:20 -0500 Subject: [PATCH] Harden non-system database backup schemas Co-Authored-By: Paperclip --- packages/db/src/backup-lib.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/db/src/backup-lib.ts b/packages/db/src/backup-lib.ts index 4fb8d4fabc7..f356497ba9a 100644 --- a/packages/db/src/backup-lib.ts +++ b/packages/db/src/backup-lib.ts @@ -241,7 +241,8 @@ function tableKey(schemaName: string, tableName: string): string { function nonSystemSchemaPredicate(identifier: string): string { return `${identifier} NOT IN ('pg_catalog', 'information_schema') AND ${identifier} NOT LIKE 'pg_toast%' - AND ${identifier} NOT LIKE 'pg_temp_%'`; + AND ${identifier} NOT LIKE 'pg_temp_%' + AND ${identifier} NOT LIKE 'pg_toast_temp_%'`; } function hasBackupTransforms(opts: RunDatabaseBackupOptions): boolean { @@ -611,6 +612,7 @@ export async function runDatabaseBackup(opts: RunDatabaseBackupOptions): Promise ); const schemas = new Set(includedSchemas); + for (const table of tables) schemas.add(table.schema_name); for (const seq of sequences) schemas.add(seq.sequence_schema); const extraSchemas = [...schemas].filter((schemaName) => schemaName !== "public"); if (extraSchemas.length > 0) {