Está en la página 1de 5

TIPOS DE DATOS POSTGRESQL 8.4.

8
Informacin
tomada
del
sitio
oficial
de
PostgreSQL
http://www.postgresql.org/docs/8.4/static/index.html, traduccin realizada a espaol por Boris Guevara.
Esta informacin es til para iniciar cualquier proceso de migracin de base de datos hacia PostgreSQL.
PostgreSQL posee un conjunto de tipos de datos nativos disponibles para los usuarios. Los
usuarios pueden agregar nuevos tipos a PostgreSQL usando el comando CREATE TYPE. La siguiente
tabla muestra todos los datos incorporados en los tipos de datos de uso general.

Nombre
Bigint
bigserial
bit [ (n) ]
bit varying [ (n) ]
boolean
Box
Bytea
character varying [ (n) ]
character [ (n) ]
Cidr
Circle
Date
Double precision
Inet
integer
interval [ fields ] [ (p) ]
line
lseg
macaddr
money
numeric [ (p, s) ]
path
point
polygon
real
smallint
serial
text
time [ (p) ] [ without time
zone ]
time [ (p) ] with time zone
timestamp [ (p) ] [ without
time zone ]
timestamp [ (p) ] with time

Alias

Descripcin

int8
serial8

Entero con signo ocho bytes


Entero auto incremento ocho bytes
Cadena bit de longitud fija
varbit
Cadena bit de longitud variable
bool
Booleano lgico (trae/false)
Caja rectangular en un plano
Datos binarios ("arreglo byte ")
varchar [ (n) ] Cadena de carcter de longitud variable
char [ (n) ]
Cadena de carcter de longitud fija
Direcciones de red IPv4 o IPv6
Circulo en un plano
Fecha calendario (ao, mes, da)
Numrico de punto flotante de doble
float8
precisin (8 bytes)
Direccin de host IPv4 o IPv6
int, int4
Entero con signo de cuatro bytes
Intervalo de tiempo
Lnea infinita en un plano
Segmento de lnea en un plano
Direccin MAC (Media Acceso
Control)
Cantidad de moneda
decimal [ (p, Numrico exacto de precisin
s) ]
seleccionable
Proyeccin geomtrica en un plano
Punto geomtrico en un plano
Proyeccin cerrada en un plano
Nmero de precisin simple de punto
float4
flotante (4 bytes)
int2
Entero con signo de dos bytes
Entero de cuatro bytes auto
serial4
incremental
Cadena de caracteres de longitud
variable
Hora y da (sin zona horaria)
timetz

Hora de da, con zona horaria


Fecha y hora (sin zona horaria)

timestamptz

Fecha y hora, incluyendo zona horaria

Nombre

Alias

zone
tsquery
tsvector

Descripcin
Consulta de bsqueda de texto
Documento de bsqueda de texto
Instantnea del ID de la Transaccin a
nivel de usuario
Identificador nico universal
Data XML

txid_snapshot
uuid
xml

Tipos Numricos

Smallint

Tamao de
almacenamiento
2 bytes

Integer

4 bytes

Bigint

8 bytes

Decimal

variable

Numeric

variable

Real
Double
precision
Serial

4 bytes

Precisin especificada por


Sin limite
el usuario, exacta
Precisin especificada por
Sin limite
el usuario, exacta
Precisin variable inexacta 6 dgitos decimales de precisin

8 bytes

Precisin variable inexacta 15 dgitos decimales de precisin

4 bytes

Bigserial

8 bytes

Entero auto incremento


Entero grande auto
incremento

Nombre

Descripcin
Entero de pequeo rango
Entero (utilizado con
regularidad)
Entero de amplio rango

Rango
-32768 a +32767
-2147483648 a +2147483647
-9223372036854775808 a
9223372036854775807

1 a 2147483647
1 a 9223372036854775807

Tipos de Serial
Los tipos de datos serial y bigserial no son tipos verdaderos, pero son una conveniente notacin
para crear columnas con identificadores nicos (similar al auto incremento soportado por otras base de
datos). La actual implementacin es la siguiente:
CREATE TABLE tablename (
colname SERIAL
);
Es equivalente a especificar
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
Por lo tanto, se construy una columna entera adaptada, para que sus valores por defecto sean
asignados por un generador de secuencias. Una restriccin Not Null es aplicada para asegurar que este
tipo de valor no pueda ser insertado. Para finalizar la secuencia es marcada como propiedad de la
columna, por lo tanto est se eliminar si la columna o la tabla son eliminadas.

Tipos Moneda
El tipo moneda almacena la cantidad de moneda con una precisin fraccionaria fija.

Nombre

Tamao
Almacenaje

money 8 bytes

Descripcin
Cantidad de
moneda

Rango
-92233720368547758.08 a
+92233720368547758.07

Tipos Carcter
Nombre
Descripcin
Character varying(n), varchar(n) Longitud variable con limite
Carcter(n), char(n)
Longitud fija, rellenado los espacios en blancos
Text
Longitud variable ilimitada

Tipos de datos Binarios


Este tipo de dato permite almacenar cadenas binarias. Una cadena binaria es una secuencia de
octetos (o bytes). Las cadenas binarias permiten almacenar octetos de valor cero y otros octetos no
imprimibles.
Tamao de Almacenamiento
Descripcin
Nombre
Bytea 1 o 4 bytes ms la actual cadena binaria Cadena binaria de longitud binaria
Cuando ingresas valores bytea, los octetos de determinados valores deben ser escapados (pero
todo los valores de los octetos se pueden escapar) cuando se usan como parte de un cadena literal en una
sentencia SQL. En general, para escapar un octeto, convertir este, en su valor octal de tres dgitos y debe
ser precedido por dos barrar invertidas.
Decimal
Valor
Octeto

Descripcin

Representacin de una
entrada escapada

Ejemplo

SELECT
E'\\000'::bytea;
SELECT
39
Comilla Simple '''' o E'\\047'
E'\''::bytea;
SELECT
92
Barra Invertida E'\\\\' o E'\\134'
E'\\\\'::bytea;
SELECT
0 a 31 y 127 Octetos no
E'\\xxx' (valor octal)
E'\\001'::bytea;
a 255
imprimibles
0

Cero octeto

E'\\000'

Representacin de
la salida
\000
'
\\
\001

Bytea. Salida Octetos escapados


Valor Octeto
Decimal

Descripcin

Representacin de Salida
Escapada

Barra Invertida \\

92

0 a 31 y 127 a Octetos no
255
imprimibles
Octetos
32 a 126
imprimibles

\xxx (valor octal)


Representacin del conjunto
de caracteres del cliente

Resultado
Salida

Ejemplo
SELECT
E'\\134'::bytea;
SELECT
E'\\001'::bytea;
SELECT
E'\\176'::bytea;

\\
\001
~

Tipos Fecha/Hora
Nombre
timestamp [
(p) ] [
without time
zone ]
timestamp [
(p) ] with
time zone
Date

Tamao
Almacenaje

Descripcin Valor Bajo

Valor
Alto

Resolucin

8 bytes

Ambas fecha y
hora (sin zona
horaria)

4713 BC

294276 AD

1 microsegundos/
14 dgitos

8 bytes

Ambas fecha y
hora con zona
horaria.

4713 BC

294276 AD

1 microsegundos
/ 14 dgitos

4 bytes

fecha (sin hora)

4713 BC

5874897
AD

1 da

Hora del da (sin


fecha)

00:00:00

24:00:00

1 microsegundos
/ 14 dgitos

time [ (p) ] [
without time
8 bytes
zone ]
time [ (p) ]
with time zone 12 bytes
interval [
fields ] [ (p) 12 bytes
]

Hora del da ,con


24:00:0000:00:00+1459
zona horaria
1459
Intervalo de hora

-178000000
aos

1 microsegundos
/ 14 dgitos

178000000 1 microsegundos
aos
/ 14 dgitos

Tipo Booleanos
PostgreSQL provee de un tipo de estndar de SQL denominado boolean que solo puede tener
dos estados "true" or "false". Un tercer estado "desconocido", es representado por el valor SQL Null.
Los valores validos para el estado "true" son: 'TRUE', 't', 'true', 'y', 'yes', 'on', '1'
Los valores validos para el estado "false" son: 'FALSE', 'f', 'false', 'n', 'no', 'off',
'0'

Tipos Geomtricos
Los tipos de datos geomtricos representan los objetos espaciales en dos dimensiones.

Point

Tamao de
almacenamiento
16 bytes

Line

32 bytes

Lseg
Box

32 bytes
32 bytes

Path

16+16n bytes

Path

16+16n bytes

Nombre

polygon 40+16n bytes


Circle 24 bytes

Representacin
El punto en un plano
Lnea infinita (No se aplica
plenamente)
Segmento de lnea finito
Caja rectangular
trayectoria cerrada (parecido
a un polgono)
trayectoria abierta
Polgono (parecido a la
trayectoria cerrada)
Circulo

Descripcin
(x,y)
((x1,y1),(x2,y2))
((x1,y1),(x2,y2))
((x1,y1),(x2,y2))
((x1,y1),...)
[(x1,y1),...]
((x1,y1),...)
<(x,y),r> (punto central
y el radio)

Tipos para almacenar Direcciones de Redes


Nombre Tamao Almacenado
Descripcin
Cidr
7 or 19 bytes
Redes IPv4 and IPv6
Inet
7 or 19 bytes
Servidores y redes IPv4 and IPv6
macaddr 6 bytes
Direcciones MAC
Cuando ordenas tipos de datos inet o cidr, las direcciones IPv4 son ordenadas antes de las IPv6,
incluyendo la direcciones IPv4 encapsuladas o asignadas a la direcciones IPv6.

También podría gustarte