Je préfère toujours me référer directement au manuel.
De la Manuel PostgreSQL :
Statut de sortie
psql retourne 0 à l'interpréteur de commandes s'il s'est terminé normalement, 1 si une erreur fatale est survenue. fatale propre (par exemple, mémoire insuffisante, fichier non trouvé), 2 si la connexion au connexion au serveur s'est mal passée et que la session n'était pas interactive, et 3 si une erreur s'est produite dans un script et que la variable ON_ERROR_STOP a été définie.
Par défaut, si le code sql que vous exécutez sur le serveur PostgreSQL est erroné, psql n'affichera pas d'erreur. Il attrapera l'erreur et continuera. Si, comme mentionné ci-dessus, vous définissez l'option ON_ERROR_STOP
sur on, quand psql attrape une erreur dans le code sql, il sortira et retournera le code. 3
à l'obus.