Recover quarantined or truncated embedded PostgreSQL runtime files and explain Windows Defender remediation. - Validate materialized payload inventory with v3 markers and repair mismatches atomically. - Surface actionable error 4551 diagnostics through startup failures. - Add regression coverage, operator documentation, and a patch changeset. Files changed: ...-9158-windows-av-blocked-embedded-pg-payload.md | 7 + ...ndows-antivirus-blocks-embedded-postgres-dll.md | 27 +++ docs/storage.md | 4 + .../__tests__/postgres/embedded-lifecycle.test.ts | 139 +++++++++++++- .../src/__tests__/postgres/startup-factory.test.ts | 19 ++ packages/core/src/postgres/embedded-lifecycle.ts | 208 ++++++++++++++++++++- packages/core/src/postgres/startup-factory.ts | 30 +-- 7 files changed, 414 insertions(+), 20 deletions(-) Fusion-Task-Id: FN-9158 Fusion-Task-Lineage: ec2c97d7-0797-49c1-b875-6b147ff26917 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
1.3 KiB
1.3 KiB
category, module, tags, problem_type, applies_when
| category | module | tags | problem_type | applies_when | ||||
|---|---|---|---|---|---|---|---|---|
| database-issues | embedded-postgres |
|
installation | Windows startup reports `could not load library` with `unknown error 4551` for an embedded PostgreSQL DLL. |
Windows antivirus blocks an embedded PostgreSQL DLL
Symptom
Fusion fails during embedded PostgreSQL initialization with a message such as could not load library .../lib/dict_snowball.dll: unknown error 4551.
Cause
Windows error 4551 is ERROR_VIRUS_DELETED: Windows Defender or another antivirus product quarantined a DLL from Fusion's host-local embedded PostgreSQL runtime payload. See issue #3489.
Earlier versions trusted a marker that identified the source payload but did not verify the copied destination. A quarantined destination DLL could therefore remain cached across every restart.
Remedy
- In Windows Security, open Virus & threat protection → Manage settings → Exclusions and add
%USERPROFILE%\.fusion\embedded-postgres. - Restore the quarantined DLL from Protection history.
- Restart Fusion.
Fusion verifies the runtime-bin payload on startup. Once the exclusion permits the copy, Fusion automatically re-materializes missing or truncated files and clears the recovery diagnosis.