AnalyticDB for PostgreSQL es compatible con los tipos de datos que se enumeran a continuación. Para definir un tipo personalizado, ejecute una instrucción CREATE TYPE.
Tipos de datos compatibles
Los tipos se agrupan por categoría. Cada entrada muestra su alias, tamaño de almacenamiento, rango de valores y una breve descripción.
Tipos numéricos
Use integer para la mayoría de las columnas de números enteros, ya que ofrece un equilibrio entre rango, almacenamiento y rendimiento. Use smallint solo cuando el almacenamiento sea una restricción estricta. Use bigint cuando los valores superen el rango de integer. Para aritmética decimal exacta (por ejemplo, cálculos financieros), use decimal/numeric en lugar de double precision o real, pues estos últimos son tipos de punto flotante inexactos.
| Tipo de dato | Alias | Longitud | Rango | Descripción |
|---|---|---|---|---|
| smallint | int2 | 2 bytes | -32768 a +32767 | Entero de rango pequeño. |
| integer | int, int4 | 4 bytes | -2,147,483,648 a +2,147,483,647 | Entero estándar. |
| bigint | int8 | 8 bytes | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 | Entero de rango grande. |
| decimal [ (p, s) ] | numeric [ (p, s) ] | Variable | Ilimitado | Precisión exacta especificada por el usuario. |
| real | float4 | 4 bytes | 6 dígitos significativos | Punto flotante inexacto con precisión variable. |
| double precision | float8 | 8 bytes | 15 dígitos significativos | Punto flotante inexacto con precisión variable. |
| float | ||||
| money | 8 bytes | -92,233,720,368,547,758.08 a +92,233,720,368,547,758.07 | Importe monetario. |
Tipos serial (autoincrementables)
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
serial |
serial4 |
4 bytes |
1 a 2,147,483,647 |
Entero autoincrementable. |
|
bigserial |
serial8 |
8 bytes |
1 a 9,223,372,036,854,775,807 |
Entero grande autoincrementable. |
Tipos de caracteres
Use text o varchar para la mayoría de las columnas de texto. Use char(n) solo cuando un sistema externo requiera una representación de ancho fijo, ya que este tipo rellena los valores más cortos con espacios.
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
character [ (n) ] |
char [ (n) ] |
1 byte + n |
Hasta n caracteres |
Cadena de longitud fija, rellenada con espacios. |
|
character varying [ (n) ] |
varchar [ (n) ] |
1 byte + tamaño de la cadena |
Hasta n caracteres |
Cadena de longitud variable con un límite superior. |
|
text |
1 byte + tamaño de la cadena |
Ilimitado |
Cadena de longitud variable sin límite. |
Tipos binarios
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
bytea |
1 byte + cadena binaria |
1 o 4 bytes más la cadena binaria real |
Cadena binaria de longitud variable. |
Tipos de fecha y hora
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
date |
4 bytes |
4713 a. C. a 294,277 d. C. |
Fecha calendario (año, mes, día). |
|
|
time [ (p) ] [ without time zone ] |
8 bytes |
00:00:00[.000000] a 24:00:00[.000000] |
Hora del día, sin zona horaria. |
|
|
time [ (p) ] with time zone |
timetz |
12 bytes |
00:00:00+1359 a 24:00:00-1359 |
Hora del día con zona horaria. |
|
timestamp [ (p) ] [ without time zone ] |
8 bytes |
4713 a. C. a 294,277 d. C. |
Fecha y hora, sin zona horaria. |
|
|
timestamp [ (p) ] with time zone |
timestamptz |
8 bytes |
4713 a. C. a 294,277 d. C. |
Fecha y hora con zona horaria. |
|
interval [ (p) ] |
12 bytes |
-178,000,000 a 178,000,000 años |
Intervalo de tiempo. |
Tipo booleano
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
boolean |
bool |
1 byte |
true/false, t/f, yes/no, y/n, 1/0 |
Valor lógico booleano. |
Tipos de cadenas de bits
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
bit [ (n) ] |
n bits |
Constante de cadena de bits |
Cadena de bits de longitud fija. |
|
|
bit varying [ (n) ] |
varbit |
Variable |
Constante de cadena de bits |
Cadena de bits de longitud variable. |
Tipos de direcciones de red
|
Tipo de dato |
Alias |
Longitud |
Descripción |
|
cidr |
12 o 24 bytes |
Redes IPv4 e IPv6. |
|
|
inet |
12 o 24 bytes |
Hosts y redes IPv4 e IPv6. |
|
|
macaddr |
6 bytes |
Dirección MAC. |
Tipos de búsqueda de texto y documentos
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
json |
1 byte + tamaño de JSON |
Cadena JSON |
Cadena de longitud variable ilimitada. |
|
|
xml |
1 byte + tamaño de XML |
Ilimitado |
Cadena de longitud variable ilimitada. |
Tipo UUID
|
Tipo de dato |
Alias |
Longitud |
Descripción |
|
uuid |
32 bytes |
Identificador único universal. |
El tipouuidestá integrado en AnalyticDB for PostgreSQL V6.0. En la versión V4.3, instale la extensiónuuid-osspantes de usar este tipo. Para más detalles, consulte Use the uuid-ossp extension .
Tipos geométricos
Los tipos geométricos (box,circle,lseg,path,point,polygon) no pueden usarse como columnas de clave de distribución.
|
Tipo de dato |
Alias |
Longitud |
Rango |
Descripción |
|
box |
32 bytes |
((x1,y1),(x2,y2)) |
Caja rectangular en un plano. |
|
|
circle |
24 bytes |
<(x,y),r> (centro y radio) |
Círculo en un plano. |
|
|
lseg |
32 bytes |
((x1,y1),(x2,y2)) |
Segmento de línea en un plano. |
|
|
path |
16+16n bytes |
[(x1,y1),...] |
Ruta geométrica en un plano. |
|
|
point |
16 bytes |
(x,y) |
Punto geométrico en un plano. |
|
|
polygon |
40+16n bytes |
((x1,y1),...) |
Ruta geométrica cerrada en un plano. |