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.
Rubriques
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 |
|
|
|
-2147483648 à +2147483647 |
4 octets |
Oui |
|
|
|
-9223372036854775808 à +9223372036854775807 |
8 octets |
Oui |
|
|
|
Précision à 6 chiffres décimaux |
4 octets |
Oui |
|
|
|
Précision à 15 chiffres décimaux |
8 octets |
Oui |
|
|
|
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 est |
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 |
|---|---|---|---|---|---|
|
|
|
Fixed-length chaîne de caractères |
4096 octets 1,2 |
Variable jusqu’à 4 100 octets |
Oui |
|
|
|
Variable-length chaîne de caractères |
65535 octets 1,2 |
Variable jusqu’à 65 539 octets |
Oui |
|
|
Si la longueur est fixe, il s’agit d’un alias pour |
4096 octets 1,2 |
Variable jusqu’à 4 100 octets |
Oui | |
|
|
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 calendaire (année, mois, jour) |
4713 BC — 5874897 AD |
1 jour |
4 octets |
Oui | |
|
|
Heure du jour, sans fuseau horaire |
00 h 00 — 24 h 00 |
1 microseconde |
8 octets |
Oui | |
|
|
|
heure du jour, avec le fuseau horaire |
00:00:00+1559 – 24:00:00 –1559 |
1 microseconde |
12 octets |
Non |
|
|
Date et heure, sans fuseau horaire |
4713 BC — 294276 AD | 1 microseconde |
8 octets |
Oui | |
|
|
|
Date et heure, avec le fuseau horaire |
4713 BC — 294276 AD | 1 microseconde |
8 octets |
Oui |
|
|
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 |
|---|---|---|---|---|---|
|
|
|
Booléen logique () true/false |
1 octet |
Oui | |
|
|
Données binaires (« tableau d’octets ») |
1 MiO1 |
Variable jusqu’à la limite de 1 MiO |
Non | |
|
|
Identifiant unique et universel |
16 octets |
Oui | ||
|
|
Données JSON |
1 Mo 2 |
Variable jusqu'à une limite de 1 MiB. 2 |
Non | |
|
|
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
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_arraydivise 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
.