Documentation PostgreSQL 15.15 » Internes » Protocole Frontend/Backend » Types de données des messages

Précédent | Niveau supérieur | Suivant
55.5. Logical Streaming Replication Protocol | Sommaire | 55.7. Formats de message

## 55.6. Types de données des messages

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

Int`n`(`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).

Int`n`[`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.

Byte`n`(`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').