Files
fusion/docs/solutions/database-issues/windows-antivirus-blocks-embedded-postgres-dll.md
gsxdsm 179f08c2d4 FN-9158: recover Windows antivirus-blocked PostgreSQL payloads
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>
2026-08-19 18:50:27 -07:00

1.3 KiB

category, module, tags, problem_type, applies_when
category module tags problem_type applies_when
database-issues embedded-postgres
windows
antivirus
postgresql
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

  1. In Windows Security, open Virus & threat protection → Manage settings → Exclusions and add %USERPROFILE%\.fusion\embedded-postgres.
  2. Restore the quarantined DLL from Protection history.
  3. 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.