Bases de données

SQLite : « database is locked »

À corriger Ça marche à moitié, ou ça cassera plus tard.

Le message tel qu'il apparaît dans les logs :

database is locked

Ce que ça veut dire

Deux programmes ont voulu écrire en même temps dans la même base SQLite. Ponctuel, ce n'est pas grave ; répété, l'application ralentit ou perd des écritures.

Pourquoi ça arrive

  • Deux conteneurs utilisent le même fichier de base.
  • La base est sur un disque réseau (NFS, SMB) : SQLite le supporte mal.
  • Une sauvegarde copie le fichier pendant que l'application tourne.

Comment corriger

  1. Gardez la base sur le disque local du serveur, et arrêtez l'application pendant la copie de sauvegarde (c'est ce que fait la sauvegarde de Mon serveur).

Pour aller plus loin

Vous avez d'autres messages dans vos logs ?

Collez-les dans le décodeur : il reconnaît les erreurs connues et vous dit lesquelles sont graves. Tout reste dans votre navigateur.

Analyser mes logs