View a markdown version of this page

Types de données pris en charge dans Aurora DSQL - Amazon Aurora DSQL

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Types de données pris en charge dans Aurora DSQL

Aurora DSQL prend en charge un sous-ensemble des types PostgreSQL courants.

Types de données numériques

Aurora DSQL supporte les types de données numériques PostgreSQL suivants.

Nom les alias ; Plage et précision Taille de stockage Prise en charge de l’index
smallint int2 -32768 à +32767 2 octets Oui

integer

int, int4

-2147483648 à +2147483647

4 octets

Oui

bigint

int8

-9223372036854775808 à +9223372036854775807

8 octets

Oui

real

float4

Précision à 6 chiffres décimaux

4 octets

Oui

double precision

float8

Précision à 15 chiffres décimaux

8 octets

Oui

numeric [ (p, s) ]

decimal [ (p, s) ]

dec[ (p,s)]

Chiffre exact dont la précision peut être choisie. La précision maximale est de 1000 et l'échelle peut être comprise entre -1000 et 1000. 1 La valeur par défaut estnumeric (18,6).

8 octets + 2 octets par groupe de 4 chiffres décimaux. La taille maximale est de 510 octets.

Oui

1 – Si vous ne spécifiez pas explicitement une taille lorsque vous exécutez CREATE TABLE ou ALTER TABLE ADD COLUMN, Aurora DSQL applique les valeurs par défaut. Aurora DSQL applique des limites lorsque vous exécutez des instructions INSERT ou UPDATE.

Types de données de caractères

Aurora DSQL prend en charge les types de données de caractères PostgreSQL suivants.

Nom les alias ; Description Limites d’Aurora DSQL Taille de stockage Prise en charge de l’index

character [ (n) ]

char [ (n) ]

Fixed-length chaîne de caractères

4096 octets 1,2

Variable jusqu’à 4 100 octets

Oui

character varying [ (n) ]

varchar [ (n) ]

Variable-length chaîne de caractères

65535 octets 1,2

Variable jusqu’à 65 539 octets

Oui

bpchar [ (n) ]

Si la longueur est fixe, il s’agit d’un alias pour char. Si la longueur est variable, il s’agit d’un alias pour varchar, où les espaces de fin sont sémantiquement insignifiants.

4096 octets 1,2

Variable jusqu’à 4 100 octets

Oui

text

Variable-length chaîne de caractères

1 Mo 1,2

Variable jusqu’à 1 MiO

Oui

1 – Si vous ne spécifiez pas explicitement une taille lorsque vous exécutez CREATE TABLE ou ALTER TABLE ADD COLUMN, Aurora DSQL applique les valeurs par défaut. Aurora DSQL applique des limites lorsque vous exécutez des instructions INSERT ou UPDATE.

2— Aurora SQL applique automatiquement la compression aux bpchar valeurs de grande taille textvarchar, INSERT et pendant les UPDATE opérations. Aurora DSQL compresse ces valeurs uniquement dans les colonnes qui ne font pas partie d'une clé. Les valeurs des colonnes de clé primaire et des colonnes clés d'un index secondaire sont toujours stockées non compressées.

Pour désactiver la compression, utilisez le STORAGE mot clé. Pour plus d’informations, consultez CREATE TABLE et ALTER TABLE.

Types de données de date et d’heure

Aurora DSQL prend en charge les types de données de date et d’heure PostgreSQL suivants.

Nom les alias ; Description Range Résolution Taille de stockage Prise en charge de l’index

date

Date calendaire (année, mois, jour)

4713 BC — 5874897 AD

1 jour

4 octets

Oui

time [ (p) ] [ without time zone ]

Heure du jour, sans fuseau horaire

00 h 00 — 24 h 00

1 microseconde

8 octets

Oui

time [ (p) ] with time zone

timetz

heure du jour, avec le fuseau horaire

00:00:00+1559 – 24:00:00 –1559

1 microseconde

12 octets

Non

timestamp [ (p) ] [ without time zone ]

Date et heure, sans fuseau horaire

4713 BC — 294276 AD 1 microseconde

8 octets

Oui

timestamp [ (p) ] with time zone

timestamptz

Date et heure, avec le fuseau horaire

4713 BC — 294276 AD 1 microseconde

8 octets

Oui

interval [ fields ] [ (p) ]

Durée

-178000000 ans — 178000000 ans 1 microseconde

16 octets

Non

Types de données divers

Aurora DSQL prend en charge les types de données PostgreSQL divers suivants.

Nom les alias ; Description Limites d’Aurora DSQL Taille de stockage Prise en charge de l’index

boolean

bool

Booléen logique () true/false

1 octet

Oui

bytea

Données binaires (« tableau d’octets »)

1 MiO1

Variable jusqu’à la limite de 1 MiO

Non

UUID

Identifiant unique et universel

16 octets

Oui

json

Données JSON

1 Mo 2

Variable jusqu'à une limite de 1 MiB. 2

Non

jsonb

Données JSON binaires

1 Mo 2

Variable jusqu'à une limite de 1 MiB. 2

Non

1 – Si vous ne spécifiez pas explicitement une taille lorsque vous exécutez CREATE TABLE ou ALTER TABLE ADD COLUMN, Aurora DSQL applique les valeurs par défaut. Aurora DSQL applique des limites lorsque vous exécutez des instructions INSERT ou UPDATE.

2— Aurora DSQL applique automatiquement la compression aux grandes jsonb valeurs json INSERT et pendant les UPDATE opérations. La limite de 1 Mio s'applique à la taille compressée. Vous pouvez donc stocker json des jsonb valeurs nettement supérieures à 1 Mio tant que leur compression est inférieure à la limite.

Pour désactiver la compression, utilisez le STORAGE mot clé. Pour plus d’informations, consultez CREATE TABLE et ALTER TABLE.

Fonctions et opérateurs JSON

Aurora DSQL prend en charge toutes les fonctions et tous les opérateurs JSON de PostgreSQL de la section 9.16 Fonctions et opérateurs JSON avec un comportement identique.

Note

Les fonctionsjson_populate_record, json_populate_recordsetjsonb_populate_record, et jsonb_populate_recordset fonctionnent avec les types de lignes de table et de vue, mais pas avec les types composites personnalisés, car Aurora SQL ne les prend pas en charge CREATE TYPE actuellement.

Les exemples suivants sont illustrés json_populate_record et jsonb_populate_recordset utilisés avec un type de ligne de tableau :

CREATE TABLE tt (c1 INT, c2 INT); SELECT * FROM json_populate_record(null::tt, '{"c1": 1, "c2": 2}');
 c1 | c2
----+----
  1 |  2
(1 row)
SELECT * FROM jsonb_populate_recordset(null::tt, '[{"c1":1,"c2":2}, {"c1":3,"c2":4}]');
 c1 | c2 
----+----
  1 |  2
  3 |  4
(2 rows)

Types de données d’exécution des requêtes

Les types de données d’exécution des requêtes sont des types de données internes utilisés au moment de l’exécution des requêtes. Ces types sont distincts des PostgreSQL-compatible types similaires varchar integer que vous définissez dans votre schéma. Ces types sont plutôt des représentations d’exécution qu’Aurora DSQL utilise lors du traitement d’une requête.

Les types de données suivants sont pris en charge uniquement pendant l’exécution des requêtes :

Type de tableau

Aurora DSQL prend en charge les tableaux des types de données pris en charge. Par exemple, vous pouvez avoir un tableau d’entiers. La fonction string_to_array divise une chaîne en un PostgreSQL-style tableau avec la virgule (,) comme illustré dans l'exemple suivant. Vous pouvez utiliser des tableaux dans des expressions, des sorties de fonctions ou des calculs temporaires lors de l’exécution de requêtes.

SELECT string_to_array('1,2', ',');

La fonction renvoie une réponse similaire à la réponse suivante :

 string_to_array
-----------------
 {1,2}
(1 row)
type d’inet

Le type de données représente les adresses hôtes IPv4, IPv6 et leurs sous-réseaux. Ce type est utile pour analyser des journaux, filtrer sur des sous-réseaux IP ou effectuer des calculs réseau dans le cadre d’une requête. Pour plus d’informations, consultez inet dans la documentation de PostgreSQL.