Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tipodedatospostgresql
Tipodedatospostgresql
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
timestamptz
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
8 bytes
4 bytes
Bigserial
8 bytes
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
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
Descripcin
Representacin de Salida
Escapada
Barra Invertida \\
92
0 a 31 y 127 a Octetos no
255
imprimibles
Octetos
32 a 126
imprimibles
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
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
4713 BC
5874897
AD
1 da
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
]
-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
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)