PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Internes » Protocole Frontend/Backend » Types de données des messages

53.6. Types de données des messages #

Cette section décrit les types de données de base utilisés dans les messages.

Intn(i)

Un entier sur n bits dans l'ordre d'octet réseau (l'octet le plus significatif en premier). Si i est précisé, il s'agit de la valeur exacte qui apparaîtra, sinon la valeur est variable. Par exemple, Int16, Int32(42).

Intn[k]

Un tableau d'entiers de k n bits, chacun dans l'ordre d'octet réseau. La longueur du tableau k est toujours déterminée par un champ précédent dans le message. Par exemple, Int16[M].

String(s)

Une chaîne terminée par un octet nul (chaîne du type C). Il n'y a pas de limitation spécifique de longueur sur les chaînes. Si s est indiqué, il s'agit de la valeur exacte qui apparaîtra. Sinon la valeur est variable. Par exemple, String, String("user").

Note

Il n'y a pas de limite prédéfinie sur la longueur d'une chaîne qui peut être renvoyée par le backend. Une bonne stratégie de codage pour un client est d'utiliser un tampon expansif pour que tout ce qui puisse être stocké en mémoire soit accepté. Si ce n'est pas faisable, lire la chaîne et ignorer les caractères en fin qui ne rentrent pas dans le tampon de taille fixe.

Byten(c)

Exactement n octets. Si la largeur du champ n n'est pas une constante, il est toujours déterminable à partir d'un champ précédent dans le message. Si c est indiqué, il s'agit de la valeur exacte. Par exemple, Byte2, Byte1('\n').