Documentation PostgreSQL 16.14 » Langage SQL » Types de données

Précédent Niveau supérieur Suivant
7.8. Requêtes WITH (Common Table Expressions) Sommaire 8.1. Types numériques

Chapitre 8. Types de données

Table des matières

8.1. Types numériques
8.1.1. Types entiers
8.1.2. Nombres à précision arbitraire
8.1.3. Types à virgule flottante
8.1.4. Types seriés
8.2. Types monétaires
8.3. Types caractère
8.4. Types de données binaires
8.4.1. Le format hexadécimal bytea
8.4.2. Le format d'échappement bytea
8.5. Types date/heure
8.5.1. Saisie des dates et heures
8.5.2. Affichage des dates et heures
8.5.3. Fuseaux horaires
8.5.4. Saisie d'intervalle
8.5.5. Affichage d'intervalles
8.6. Type booléen
8.7. Types énumération
8.7.1. Déclaration de types énumérés
8.7.2. Tri
8.7.3. Sûreté du type
8.7.4. Détails d'implémentation
8.8. Types géométriques
8.8.1. Points
8.8.2. Lines
8.8.3. Segments de droite
8.8.4. Boîtes
8.8.5. Chemins
8.8.6. Polygones
8.8.7. Cercles
8.9. Types adresses réseau
8.9.1. inet
8.9.2. cidr
8.9.3. inet vs cidr
8.9.4. macaddr
8.9.5. macaddr8
8.10. Type chaîne de bits
8.11. Types de recherche plein texte
8.11.1. tsvector
8.11.2. tsquery
8.12. Type UUID
8.13. Type XML
8.13.1. Créer des valeurs XML
8.13.2. Gestion de l'encodage
8.13.3. Accéder aux valeurs XML
8.14. Types JSON
8.14.1. Syntaxe d'entrée et de sortie JSON
8.14.2. Concevoir des documents JSON efficacement
8.14.3. Existence et inclusion jsonb
8.14.4. Indexation jsonb
8.14.5. Utiliser l'indiçage avec jsonb
8.14.6. Transformations
8.14.7. Type jsonpath
8.15. Tableaux
8.15.1. Déclaration des types tableaux
8.15.2. Saisie de valeurs de type tableau
8.15.3. Accès aux tableaux
8.15.4. Modification de tableaux
8.15.5. Recherche dans les tableaux
8.15.6. Syntaxe d'entrée et de sortie des tableaux
8.16. Types composites
8.16.1. Déclaration de types composites
8.16.2. Construire des valeurs composites
8.16.3. Accéder aux types composites
8.16.4. Modifier les types composites
8.16.5. Utiliser des types composites dans les requêtes
8.16.6. Syntaxe en entrée et sortie d'un type composite
8.17. Types intervalle de valeurs
8.17.1. Types internes d'intervalle de valeurs range et multirange
8.17.2. Exemples
8.17.3. Bornes inclusives et exclusives
8.17.4. Intervalles de valeurs infinis (sans borne)
8.17.5. Saisie/affichage d'intervalle de valeurs
8.17.6. Construire des intervalles de valeurs ranges et multiranges
8.17.7. Types intervalle de valeurs discrètes
8.17.8. Définir de nouveaux types intervalle de valeurs
8.17.9. Indexation
8.17.10. Contraintes sur les intervalles de valeurs
8.18. Types domaine
8.19. Types identifiant d'objet
8.20. Type pg_lsn
8.21. Pseudo-Types

PostgreSQL offre un large choix de types de données disponibles nativement. Les utilisateurs peuvent ajouter de nouveaux types à PostgreSQL en utilisant la commande CREATE TYPE.

Le Tableau 8.1 montre tous les types de données généraux disponibles nativement. La plupart des types de données alternatifs listés dans la colonne « Alias » sont les noms utilisés en interne par PostgreSQL pour des raisons historiques. Il existe également d'autres types de données internes ou obsolètes, mais ils ne sont pas listés ici.

Tableau 8.1. Types de données

NomAliasDescription
bigintint8Entier signé sur huit octets
bigserialserial8Entier sur huit octets à incrémentation automatique
bit [ (n) ]Suite de bits de longueur fixe
bit varying [ (n) ]varbit [ (n) ]Suite de bits de longueur variable
booleanboolBooléen (Vrai/Faux)
boxBoîte rectangulaire dans le plan
byteaDonnée binaire (« tableau d'octets »)
character [ (n) ]char [ (n) ]Chaîne de caractères de longueur fixe
character varying [ (n) ]varchar [ (n) ]Chaîne de caractères de longueur variable
cidrAdresse réseau IPv4 ou IPv6
circleCercle dans le plan
dateDate du calendrier (année, mois, jour)
double precisionfloat, float8Nombre à virgule flottante de double précision (sur huit octets)
inetAdresse d'ordinateur IPv4 ou IPv6
integerint, int4Entier signé sur quatre octets
interval [ champs ] [ (p) ]Intervalle de temps
jsonDonnées texte JSON
jsonbDonnées binaires JSON, décomposées
lineDroite (infinie) dans le plan
lsegSegment de droite dans le plan
macaddrAdresse MAC (pour Media Access Control)
macaddr8Adresse MAC (pour Media Access Control) (format EUI-64)
moneyMontant monétaire
numeric [ (p, s) ]decimal [ (p, s) ]Nombre exact dont la précision peut être spécifiée
pathChemin géométrique dans le plan
pg_lsnSéquence numérique de journal (Log Sequence Number) de PostgreSQL
pg_snapshotimage (snapshot) de l'identifiant de transaction niveau utilisateur
pointPoint géométrique dans le plan
polygonChemin géométrique fermé dans le plan
realfloat4Nombre à virgule flottante de simple précision (sur quatre octets)
smallintint2Entier signé sur deux octets
smallserialserial2Entier sur deux octets à incrémentation automatique
serialserial4Entier sur quatre octets à incrémentation automatique
textChaîne de caractères de longueur variable
time [ (p) ] [ without time zone ]Heure du jour (sans fuseau horaire)
time [ (p) ] with time zonetimetzHeure du jour, avec fuseau horaire
timestamp [ (p) ] [ without time zone ]Date et heure (sans fuseau horaire)
timestamp [ (p) with time zonetimestamptzDate et heure, avec fuseau horaire
tsqueryrequête pour la recherche plein texte
tsvectordocument pour la recherche plein texte
txid_snapshotimage de l'identifiant de transaction au niveau utilisateur (déprécié ; voir pg_snapshot)
uuididentifiant unique universel
xmldonnées XML

Compatibilité

Les types suivants sont conformes à la norme SQL : bigint, bit, bit varying, boolean, char, character varying, character, varchar, date, double precision, integer, interval, numeric, decimal, real, smallint, time (avec et sans fuseau horaire), timestamp (avec et sans fuseau horaire), xml.

Chaque type de données a une représentation externe déterminée par ses fonctions d'entrée et de sortie. De nombreux types de données internes ont un format externe évident. Cependant, certains types sont spécifiques à PostgreSQL, comme les chemins géométriques, ou acceptent différents formats, comme les types de données de date et d'heure. Certaines fonctions d'entrée et de sortie ne sont pas inversables : le résultat de la fonction de sortie peut manquer de précision comparé à l'entrée initiale.

AltStyle によって変換されたページ (->オリジナル) /