Codes d’erreur
Codes d’erreur
PgArachne renvoie des objets d’erreur standard JSON-RPC 2.0. Voici les codes spécifiques que vous pouvez rencontrer :
| Code | Message | Signification |
|---|---|---|
-32700 | Parse error | Un JSON invalide a été reçu par le serveur. |
-32601 | Method not found | La fonction n’existe pas dans le schéma. |
-32602 | Invalid params | Les arguments ne correspondent pas à la signature de la fonction. |
-32001 | Permission denied | Le rôle utilisateur actuel manque de privilèges pour exécuter la fonction (niveau DB). |
-32000 | Internal Error | Erreur générique du serveur (vérifiez les logs). |
Comportement actuel : les réponses runtime sont principalement mappées sur des statuts HTTP avec un champ JSON-RPC
message. Le code JSON-RPC personnalisé -32001 est utilisé pour les refus de rôle/droits.Correspondance des statuts HTTP
| HTTP | Message typique | Quand cela se produit |
|---|---|---|
400 | Invalid JSON request/Invalid function name | Payload invalide ou format de méthode invalide. |
401 | Authorization header is missing/Invalid or expired token | Authentification manquante ou invalide. |
403 | Permission denied for the specified role | SET LOCAL ROLE a échoué (-32001). |
404 | Function does not exist/JWT is disabled/get_jwt was removed | La méthode ciblée n’existe pas (-32601), /token a été appelé alors que JWT_SECRET n’est pas configuré, ou la méthode JSON-RPC supprimée get_jwt a été appelée (utilisez POST /{prefix}/{database}/token). |
429 | Too many login attempts/Too many failed authentication attempts | Rate limit de login ou d’authentification dépassé (LOGIN_RATE_LIMIT, LOGIN_RATE_LIMIT_PER_IP). |
413 | Request body too large/Response too large/Too many files in response | La requête dépasse MAX_REQUEST_BYTES, ou une réponse /file dépasse FILE_MAX_BYTES / FILE_MAX_ENTRIES. |
500 | Function call failed/Transaction commit failed | Échec d’exécution ou de commit. |
503 | Database connection failed/Database unavailable | Base de données ou listener temporairement indisponible. |