Table of Contents
pg_lsnPostgreSQL tiene un rico conjunto de tipos de datos nativos disponibles para los usuarios. Los usuarios pueden añadir nuevos tipos a PostgreSQL usando el comando CREATE TYPE.
La Table 8.1 muestra todos los tipos de datos incorporados de propósito general. La mayoría de los nombres alternativos listados en la columna “Alias” son los nombres usados internamente por PostgreSQL por razones históricas. Además, algunos tipos usados internamente o obsoletos están disponibles, pero no se listan aquí.
Table 8.1. Tipos de datos
| Nombre | Alias | Descripción |
|---|---|---|
bigint | int8 | entero con signo de ocho bytes |
bigserial | serial8 | entero autoincrementable de ocho bytes |
bit [ ( | cadena de bits de longitud fija | |
bit varying [ ( | varbit [ ( | cadena de bits de longitud variable |
boolean | bool | booleano lógico (verdadero/falso) |
box | caja rectangular en un plano | |
bytea | datos binarios (“arreglo de bytes”) | |
character [ ( | char [ ( | cadena de caracteres de longitud fija |
character varying [ ( | varchar [ ( | cadena de caracteres de longitud variable |
cidr | dirección de red IPv4 o IPv6 | |
circle | círculo en un plano | |
date | fecha del calendario (año, mes, día) | |
double precision | float, float8 | número de punto flotante de doble precisión (8 bytes) |
inet | dirección de host IPv4 o IPv6 | |
integer | int, int4 | entero con signo de cuatro bytes |
interval [ | intervalo de tiempo | |
json | datos JSON textuales | |
jsonb | datos JSON binarios, descompuestos | |
line | línea infinita en un plano | |
lseg | segmento de línea en un plano | |
macaddr | dirección MAC (Media Access Control) | |
macaddr8 | dirección MAC (Media Access Control) (formato EUI-64) | |
money | cantidad monetaria | |
numeric [ ( | decimal [ ( | numérico exacto de precisión seleccionable |
path | ruta geométrica en un plano | |
pg_lsn | Número de Secuencia de Registro (LSN) de PostgreSQL | |
pg_snapshot | instantánea de ID de transacción a nivel de usuario | |
point | punto geométrico en un plano | |
polygon | ruta geométrica cerrada en un plano | |
real | float4 | número de punto flotante de precisión simple (4 bytes) |
smallint | int2 | entero con signo de dos bytes |
smallserial | serial2 | entero autoincrementable de dos bytes |
serial | serial4 | entero autoincrementable de cuatro bytes |
text | cadena de caracteres de longitud variable | |
time [ ( | hora del día (sin zona horaria) | |
time [ ( | timetz | hora del día, incluyendo zona horaria |
timestamp [ ( | fecha y hora (sin zona horaria) | |
timestamp [ ( | timestamptz | fecha y hora, incluyendo zona horaria |
tsquery | consulta de búsqueda de texto | |
tsvector | documento de búsqueda de texto | |
txid_snapshot | instantánea de ID de transacción a nivel de usuario (obsoleto; ver pg_snapshot) | |
uuid | identificador único universal | |
xml | datos XML |
Los siguientes tipos (o sus variantes de escritura) están especificados por
SQL: bigint, bit, bit
varying, boolean, char,
character varying, character,
varchar, date, double
precision, integer, interval,
numeric, decimal, real,
smallint, time (con o sin zona horaria),
timestamp (con o sin zona horaria),
xml.
Cada tipo de datos tiene una representación externa determinada por sus funciones de entrada y salida. Muchos de los tipos incorporados tienen formatos externos obvios. Sin embargo, varios tipos son únicos de PostgreSQL, como las rutas geométricas, o tienen varios formatos posibles, como los tipos de fecha y hora. Algunas de las funciones de entrada y salida no son invertibles, es decir, el resultado de una función de salida podría perder precisión al compararse con la entrada original.