From 211c52defeff343b00e5cc82e1257274d87a0be3 Mon Sep 17 00:00:00 2001 From: merge-check <140916359+agentHits@users.noreply.github.com> Date: Mon, 9 Nov 2026 05:26:16 -0500 Subject: [PATCH] build: upgrade postgres to v4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Что: драйвер postgres (postgres.js) ^3.4.9 -> ^4.1.0 в apps/dokploy и packages/server, корневой override >=3.4.9 <4.0.0 -> >=4.1.0 <5.0.0. Зачем: через этот драйвер drizzle-orm ходит в базу самой панели, миграции и сброс базы. 4.0 переписал пул, соединение и протокол под тем же API; 4.1 добавил query_timeout, cancel_timeout и исправил зависания отменённых запросов, переподключение listen, чтение PGSSLMODE и sslrootcert из url, разбор FATAL-ошибок, а кэш подготовленных запросов больше не держит их строки и параметры. Риски: главное изменение 4.0 - тип параметра выбирает сервер (infer: false), и drizzle подменяет внутренние parsers/serializers клиента для дат, JSON и интервалов. Проверено сравнением на настоящем Postgres 18 через drizzle 0.45.4 под Node 26 и Bun 1.4.4: вставка и выборка всех типов колонок схемы (boolean, integer, bigint, jsonb, json, text[], timestamp строкой и датой, date, interval, enum), условия по boolean, дате, enum и IN, update с датой и JSON, сырой sql, транзакция и откат - 19 из 19 одинаковы на 3.4.9 и 4.1.0, включая одинаковые ошибки. Форк сам вызывает только postgres(url, { idle_timeout | max }) и .end(); sql.array, ручные begin и reserve не используются. Пакет теперь только ESM; панель на Bun, Node 26 загружает его через require(esm). Проверки на Linux: bun install, bun audit --audit-level=moderate, server:build и typecheck проходят; apps/dokploy/migration.ts под bun на чистом Postgres 18.6: все 219 миграций, 81 таблица, повторный запуск проходит; unit-тесты: 6238 прошли, 4 упали в трёх файлах, и каждый из них так же падает на базовой ветке без этого изменения. Co-Authored-By: Claude Opus 5.5 --- apps/dokploy/package.json | 2 +- bun.lock | 8 ++++---- package.json | 2 +- packages/server/package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index fe15d985c3..29e926af53 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -123,7 +123,7 @@ "octokit": "^5.0.5", "pino": "^10.4.0", "pino-pretty": "^13.2.0", - "postgres": "^3.4.9", + "postgres": "^4.1.0", "posthog-js": "^1.447.3", "public-ip": "^8.0.0", "qrcode": "^1.5.4", diff --git a/bun.lock b/bun.lock index 2e420cec9f..dc6a27c227 100644 --- a/bun.lock +++ b/bun.lock @@ -125,7 +125,7 @@ "octokit": "^5.0.5", "pino": "^10.4.0", "pino-pretty": "^13.2.0", - "postgres": "^3.4.9", + "postgres": "^4.1.0", "posthog-js": "^1.447.3", "public-ip": "^8.0.0", "qrcode": "^1.5.4", @@ -261,7 +261,7 @@ "octokit": "^5.0.5", "pino": "^10.4.0", "pino-pretty": "^13.2.0", - "postgres": "^3.4.9", + "postgres": "^4.1.0", "public-ip": "^8.0.0", "qrcode": "^1.5.4", "react": "^19.3.1", @@ -341,7 +341,7 @@ "minimatch": ">=11.0.1 <12.0.0", "next": ">=16.4.3 <17.0.0", "postcss": ">=8.5.28 <9.0.0", - "postgres": ">=3.4.9 <4.0.0", + "postgres": ">=4.1.0 <5.0.0", "protobufjs": ">=7.5.5 <8.0.0", "proxy-addr": ">=2.0.8 <3.0.0", "qs": ">=6.16.0 <7.0.0", @@ -2653,7 +2653,7 @@ "postcss-selector-parser": ["postcss-selector-parser@7.2.0", "", { "dependencies": { "util-deprecate": "^1.0.2" } }, "sha512-Khh/tERVBn0I1499dvBSHY0pWJloMJWUxDsOBM0CCDPAcVZ10Jl2L1qy1f19uEX22spa8Mv7DCdEQJc0cGwBhQ=="], - "postgres": ["postgres@3.4.9", "", {}, "sha512-GD3qdB0x1z9xgFI6cdRD6xu2Sp2WCOEoe3mtnyB5Ee0XrrL5Pe+e4CCnJrRMnL1zYtRDZmQQVbvOttLnKDLnaw=="], + "postgres": ["postgres@4.1.0", "", {}, "sha512-s+0WH67YAyLdBQUb6XczbziBhY+C9uiQsg9S8R5RHdZhk6sdyK6202E+T2tXpiInSEEjDLRSJ3OpYBe3PN6MsQ=="], "postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="], diff --git a/package.json b/package.json index 3d6706426c..a29ff5ed4f 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "js-yaml": ">=4.3.2 <5.0.0", "lodash": ">=4.18.1 <5.0.0", "postcss": ">=8.5.28 <9.0.0", - "postgres": ">=3.4.9 <4.0.0", + "postgres": ">=4.1.0 <5.0.0", "ssh2": "1.16.0", "tar": ">=7.5.19 <8.0.0", "protobufjs": ">=7.5.5 <8.0.0", diff --git a/packages/server/package.json b/packages/server/package.json index 78c6a5bba5..01d1f50dd5 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -83,7 +83,7 @@ "octokit": "^5.0.5", "pino": "^10.4.0", "pino-pretty": "^13.2.0", - "postgres": "^3.4.9", + "postgres": "^4.1.0", "public-ip": "^8.0.0", "qrcode": "^1.5.4", "react": "^19.3.1",