N8n akzeptiert meine PostgreSQL-Konfiguration nicht

Ich habe meine .env-Datei so konfiguriert, dass PostgreSQL statt SQLite3 verwendet wird:

DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=
DB_POSTGRESDB_PASSWORD=

Benutzerverwaltungs-DB (muss mit Haupt-DB übereinstimmen, es sei denn, sie ist bewusst getrennt)

N8N_USER_MANAGEMENT_POSTGRESDB_HOST=localhost
N8N_USER_MANAGEMENT_POSTGRESDB_PORT=5432
N8N_USER_MANAGEMENT_POSTGRESDB_DATABASE=n8n
N8N_USER_MANAGEMENT_POSTGRESDB_USER=
N8N_USER_MANAGEMENT_POSTGRESDB_PASSWORD=

Aber ich bekomme immer wieder diesen Fehler beim Versuch, meine lokalen Ollama-Modelle einzurichten:
Error in chat execution: Error: Could not locate the bindings file. Tried:
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\out\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\out\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\default\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\compiled\24.15.0\win32\x64\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\release\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\debug\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\default\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\lib\binding\node-v137-win32-x64\node_sqlite3.node
Title generation failed: Error: Could not locate the bindings file. Tried:
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\out\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\Debug\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\out\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\Release\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\build\default\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\compiled\24.15.0\win32\x64\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\release\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\debug\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\addon-build\default\install-root\node_sqlite3.node
→ C:\Users\d-kin\AppData\Roaming\npm\node_modules\n8n\node_modules\sqlite3\lib\binding\node-v137-win32-x64\node_sqlite3.node

Ich nutze Node v24.15.0, npm v11.12.1 und n8n v2.20.0

Kann mir bitte jemand helfen zu verstehen, warum das passiert?

Hallo :waving_hand: @Mr_Kintu

AI Agent-Knoten erfordern sqlite3, auch wenn PostgreSQL verwendet wird. Der Fehler tritt wahrscheinlich auf, weil das sqlite3-Paket nicht ordnungsgemäß für deine Node.js-Version kompiliert wurde. Node v24.15.0 hat bekannte Kompatibilitätsprobleme mit sqlite3-Bindings.

Die vorkompilierten Binärdateien existieren für Node 24 noch nicht, daher musst du sie manuell mit den folgenden Befehlen neu erstellen

# Windows Build Tools installieren
npm install --global windows-build-tools

# Dann sqlite3 neu erstellen
npm rebuild sqlite3

# Oder n8n komplett neu installieren
npm uninstall -g n8n
npm install -g n8n

Du kannst auch ein Downgrade auf Node.js LTS (v20 oder v22) in Betracht ziehen, das bessere Kompatibilität bietet

# Mit nvm (Node Version Manager)
nvm install 20
nvm use 20

# Dann n8n neu installieren
npm install -g n8n

Hilft dir das weiter?

Willkommen in der Community, @Mr_Kintu! Und guter Fang von @kjooleng bei der Node.js-Version.

Um zu erklären, warum das passiert: Der Fehler Could not locate the bindings file für sqlite3 ist ein Problem mit der nativen Modulkompatibilität. Das sqlite3 npm-Paket enthält vorkompilierte native Binärdateien für spezifische Node.js-Versionen. Node v24 ist sehr neu und die vorkompilierten Binärdateien in den Abhängigkeiten von n8n wurden möglicherweise noch nicht dafür kompiliert.

Hier ist der Punkt: Auch wenn du DB_TYPE=postgresdb gesetzt hast, hat n8n immer noch sqlite3 als Abhängigkeit in seinem Paketbaum (es wird intern für einige Fallback-Pfade verwendet und wird beim Start unabhängig von deiner DB-Konfiguration geladen). Wenn die sqlite3-Naturbinärdatei für deine Node-Version nicht geladen werden kann, wirft sie diesen Fehler und n8n kann überhaupt nicht starten.

Die Lösung: Nutze Node.js 20 LTS (die offiziell unterstützte Version für n8n). Mit nvm:

nvm install 20
nvm use 20
nvm alias default 20
npm install -g n8n

Node 18 LTS funktioniert auch. Beide werden offiziell unterstützt. Node 22 kann in einigen Fällen funktionieren, aber 24 ist noch nicht getestet/unterstützt (ab n8n v2.20).

Sobald du auf Node 20 wechselst, sollte deine PostgreSQL-Konfiguration korrekt erkannt werden.

Willkommen in der n8n Community @Mr_Kintu

Eine Sache würde ich nach dem Wechsel von Node 24 zusätzlich überprüfen: ob n8n deine .env-Werte tatsächlich lädt. Außerdem würde ich DB_POSTGRESDB_USER und DB_POSTGRESDB_PASSWORD nicht leer lassen. Erstelle einen echten PostgreSQL-Benutzer, bestätige, dass die n8n-Datenbank existiert, und starten Sie n8n dann vollständig neu. Als einfachere Lösung könnte Docker Compose mit PostgreSQL unter Windows zuverlässiger sein als npm.

Danke @kjooleng, ich versuche, auf Node v22/v20 herunterzustufen und verwende windows-build-tools, um das Paket zu installieren! Ich gebe dir Bescheid, wie es läuft

@tamy.santos oh nein, diese Variablenfelder sind echt! Es ist das Binding-Problem, das mir den Kopf zerbrochen hat. Aber danke, dass du das geteilt hast!

Danke dafür, @nguyenthieutoan & @kjooleng! Ich werde diese Verbesserungen ausprobieren und mich bei dir melden.