View a markdown version of this page

Tipos de datos admitidos en Aurora DSQL - Amazon Aurora DSQL

Tipos de datos admitidos en Aurora DSQL

Aurora DSQL admite un subconjunto de los tipos comunes de PostgreSQL.

Tipos de datos numéricos

Aurora DSQL admite los siguientes tipos de datos numéricos de PostgreSQL.

Nombre Alias Intervalo y precisión Tamaño del almacenamiento Compatibilidad con índices
smallint int2 De -32768 a +32767 2 bytes Sí

integer

int, int4

De -2147483648 a 2147483647

4 bytes

Sí

bigint

int8

De -9223372036854775808 a +9223372036854775807

8 bytes

Sí

real

float4

Precisión de 6 dígitos decimales

4 bytes

Sí

double precision

float8

Precisión de 15 dígitos decimales

8 bytes

Sí

numeric [ (p, s) ]

decimal [ (p, s) ]

dec[ (p,s)]

Numérico exacto de precisión seleccionable. La precisión máxima es 1000 y la escala puede estar entre -1000 y 1000. 1 El valor predeterminado es numeric (18,6).

8 bytes + 2 bytes por grupo de 4 dígitos decimales. El tamaño máximo es de 510 bytes.

Sí

1: si no especifica explícitamente un tamaño cuando ejecuta CREATE TABLE o ALTER TABLE ADD COLUMN, Aurora DSQL aplica los valores predeterminados. Aurora DSQL aplica límites cuando ejecuta las instrucciones INSERT o UPDATE.

Tipos de datos de caracteres

Aurora DSQL admite los siguientes tipos de datos de caracteres de PostgreSQL.

Nombre Alias Descripción Límite de Aurora DSQL Tamaño del almacenamiento Compatibilidad con índices

character [ (n) ]

char [ (n) ]

Cadena de caracteres de longitud fija

4096 bytes1,2

Variable hasta 4100 bytes

Sí

character varying [ (n) ]

varchar [ (n) ]

Cadena de caracteres de longitud variable

65535 bytes1,2

Variable hasta 65539 bytes

Sí

bpchar [ (n) ]

Si es de longitud fija, es un alias de char. Si es de longitud variable, es un alias de varchar, donde los espacios al final no tienen significado semántico.

4096 bytes1,2

Variable hasta 4100 bytes

Sí

text

Cadena de caracteres de longitud variable

1 MiB1,2

Variable de hasta 1 MiB

Sí

1: si no especifica explícitamente un tamaño cuando ejecuta CREATE TABLE o ALTER TABLE ADD COLUMN, Aurora DSQL aplica los valores predeterminados. Aurora DSQL aplica límites cuando ejecuta las instrucciones INSERT o UPDATE.

2: Aurora DSQL comprime automáticamente los valores text, varchar y bpchar grandes durante las operaciones INSERT y UPDATE. Aurora DSQL comprime estos valores solo en columnas que no forman parte de una clave. Los valores de las columnas de clave principal y de las columnas de claves de un índice secundario siempre se almacenan sin comprimir.

Para deshabilitar la compresión, utilice la palabra clave STORAGE. Para obtener más información, consulte CREATE TABLE y ALTER TABLE.

Tipos de datos de fecha y hora

Aurora DSQL admite los siguientes tipos de datos de fecha y hora de PostgreSQL.

Nombre Alias Descripción Range Resolución Tamaño del almacenamiento Compatibilidad con índices

date

Fecha de calendario (año, mes, día)

De 4713 a. C. a 5874897 d. C.

1 día

4 bytes

Sí

time [ (p) ] [ without time zone ]

Hora del día, sin zona horaria

00:00:00 – 24:00:00

1 microsegundo

8 bytes

Sí

time [ (p) ] with time zone

timetz

Hora del día, con zona horaria

De 00:00:00+1559 a 24:00:00 -1559

1 microsegundo

12 bytes

No

timestamp [ (p) ] [ without time zone ]

Fecha y hora, sin zona horaria

De 4713 a. C. a 294276 d. C. 1 microsegundo

8 bytes

Sí

timestamp [ (p) ] with time zone

timestamptz

Fecha y hora, con zona horaria

De 4713 a. C. a 294276 d. C. 1 microsegundo

8 bytes

Sí

interval [ fields ] [ (p) ]

Intervalo de tiempo

De -178000000 años a 178000000 años 1 microsegundo

16 bytes

No

Tipos de datos varios

Aurora DSQL soporta los siguientes tipos de datos varios de PostgreSQL.

Nombre Alias Descripción Límite de Aurora DSQL Tamaño del almacenamiento Compatibilidad con índices

boolean

bool

Booleano lógico (true/false)

1 byte

Sí

bytea

Datos binarios (“matriz de bytes”)

1 MiB1

Variable hasta un límite de 1 MiB

No

UUID

Identificador único universal

16 bytes

Sí

json

Datos JSON

1 MiB2

Variable hasta un límite de 1 MiB.2

No

jsonb

Datos JSON binarios

1 MiB2

Variable hasta un límite de 1 MiB.2

No

1: si no especifica explícitamente un tamaño cuando ejecuta CREATE TABLE o ALTER TABLE ADD COLUMN, Aurora DSQL aplica los valores predeterminados. Aurora DSQL aplica límites cuando ejecuta las instrucciones INSERT o UPDATE.

2: Aurora DSQL comprime automáticamente los valores json y jsonb grandes durante las operaciones INSERT y UPDATE. El límite de 1 MiB se aplica al tamaño comprimido, por lo que puede almacenar valores json y jsonb muy superiores a 1 MiB siempre que se compriman por debajo del límite.

Para deshabilitar la compresión, utilice la palabra clave STORAGE. Para obtener más información, consulte CREATE TABLE y ALTER TABLE.

JSON functions and operators (Funciones y operadores JSON)

Aurora DSQL admite todas las funciones y operadores JSON de PostgreSQL descritos en la sección 9.16, Funciones y operadores JSON, con un comportamiento idéntico.

nota

Las funciones json_populate_record, json_populate_recordset, jsonb_populate_record y jsonb_populate_recordset funcionan con tipos de filas de tablas y vistas, pero no con tipos compuestos personalizados, ya que Aurora DSQL no admite actualmente CREATE TYPE.

En los siguientes ejemplos se muestra el uso de json_populate_record y jsonb_populate_recordset con un tipo de fila de tabla:

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)

Tipos de datos de tiempo de ejecución de consultas

Los tipos de datos de tiempo de ejecución de consultas son tipos de datos internos que se utilizan en tiempo de ejecución de consultas. Estos tipos son distintos de los tipos compatibles con PostgreSQL como varchar y integer que define en el esquema. En su lugar, estos tipos son representaciones en tiempo de ejecución que Aurora DSQL utiliza al procesar una consulta.

Los siguientes tipos de datos son compatibles solo durante el tiempo de ejecución de consultas:

Tipo de matriz

Aurora DSQL admite matrices de los tipos de datos admitidos. Por ejemplo, puede tener una matriz de enteros. La función string_to_array divide una cadena en una matriz al estilo de PostgreSQL mediante el delimitador de comas (,) como se muestra en el ejemplo siguiente. Puede utilizar matrices en expresiones, salidas de funciones o cálculos temporales durante la ejecución de consultas.

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

La función devuelve una respuesta similar a lo siguiente:

 string_to_array
-----------------
 {1,2}
(1 row)
Tipo inet

Este tipo de datos representa direcciones de host IPv4, IPv6 y las subredes. Este tipo es útil al analizar registros, filtrar por subredes IP o realizar cálculos de red en una consulta. Para obtener más información, consulte inet en la documentación de PostgreSQL.