Вы находитесь на странице: 1из 15

ESCUELA POLITCNICA

NACIONAL
FACULTAD DE INGENIERA DE SISTEMAS
INGENIERA EN SISTEMAS INFORMTICOS Y
DE COMPUTACIN

BASES DE DATOS
PERIODO ACADMICO 2014-A

BREVE RESUMEN DE POSTGRESQL

QUITO, Mayo del 2014



DEFINICIN

PostgreSQL es un Sistema de Gestin de Bases de Datos Objeto-Relacionales
(ORDBMS) que ha sido desarrollado de varias formas desde la dcada de 1980. El
proyecto PostgreSQL sigue actualmente un activo proceso de desarrollo a nivel mundial
gracias a un equipo de desarrolladores y contribuidores de cdigo abierto.
PostgreSQL es ampliamente considerado como una de las alternativas de sistema
de bases de datos de cdigo abierto. PostgreSQL utiliza un modelo cliente/servidor y usa
multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en
uno de los procesos no afectar el resto y el sistema continuar funcionando.
COMPONENTES PRINCIPALES


Aplicacin cliente: Esta es la aplicacin cliente que utiliza PostgreSQL como
administrador de bases de datos. La conexin puede ocurrir va TCP/IP o sockets
locales.

Demonio postmaster: Este es el proceso principal de PostgreSQL. Es el
encargado de escuchar por un puerto/socket por conexiones entrantes de clientes.
Tambin es el encargado de crear los procesos hijos que se encargaran de
autentificar estas peticiones, gestionar las consultas y mandar los resultados a las
aplicaciones clientes

Ficheros de configuracin: Los 3 ficheros principales de configuracin utilizados
por PostgreSQL:
o postgresql.conf
o pg_hba.conf
o pg_ident.conf

Procesos hijos postgres: Procesos hijos que se encargan de autentificar a los
clientes, de gestionar las consultas y mandar los resultados a las aplicaciones
clientes

PostgreSQL share buffer cache: Memoria compartida usada por POstgreSQL
para almacenar datos en cach.

Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la
integridad de los datos (recuperacin de tipo REDO)

Kernel disk buffer cache: Cach de disco del sistema operativo

Disco: Disco fsico donde se almacenan los datos y toda la informacin necesaria
para que PostgreSQL funcione
HISTORIA

PostgreSQL (o Postgres) comenz su vida en 1986 como POSTGRES, un
proyecto de investigacin de la universidad de Berkeley en California, dirigido por el
investigador de base de datos de gran influencia Michael Stonebraker. En el diseo de
POSTGRES, el equipo de Stonebraker busc mejorar a INGRES, un proyecto prototipo
anterior tambin dirigido por Stonebraker, principalmente a travs del soporte de tipos de
datos definidos por el usuario (o dominios) con reglas complejas de negocio arbitrarias y
otros conceptos relacionados a los objetos.
El equipo de Stonebraker desarroll POSTGRES activamente por ocho aos, y
desarroll caractersticas que incluyen reglas, procedimientos y tipos extensivos con
ndices. POSTGRES luego se comercializ como Illustra, que luego fue adquirido por
Informix para integrarlo en su Servidor Universal. En 2001, IBM adquiri Informix por la
cifra de 1000 millones de dlares.
POSTGRES usaba su propio lenguaje de consultas, POSTQUEL, aunque
tericamente superior al dominante SQL, con una mayor profundidad de expresin debido
a sus fundamentos tericos ms avanzados, en la prctica POSTQUEL no se alineaba
con las necesidades de la industria, que ya se haba estandarizado con SQL. Por esa
razn, en 1995, dos estudiantes de Ph.D. en el laboratorio de Stonebraker, Andrew Yu y
Jolly Chen, reemplazaron POSTQUEL con un subconjunto extendido de SQL.
POSTGRES pas a llamarse Postgres95.
En 1996, el proyecto obtuvo un gran inters desde fuera de la academia. Estaba
claro que el nombre Postgre95 no ira bien con el tiempo, y el proyecto se renombr a
PostgreSQL. El grupo global de desarrolladores de PostgreSQL, una afiliacin
internacional de desarrolladores de base de datos que trabajan principalmente en la
industria, haba nacido y asumi control del cdigo fuente de Postgres. PostgreSQL
empez con la versin 6, para mantener consistencia con el control de versiones de
Berkeley, como una seal de reconocimiento a la importante contribucin hecha por el
equipo de Stonebraker.
Durante esta era de desarrollo de cdigo abierto de la versin 6.*, se desarrollaron
muchas de las caractersticas que llegaran a definir PostgreSQL, incluyendo:
Control de concurrencia multiversin. El bloqueo a nivel de tabla fue reemplazado
por MVCC, un sistema sofisticado que previene a los lectores de bloquear a los
escritores y a los escritores de bloquear a los lectores. MVCC fue popularizado por
Oracle a principio de los 80, y su uso en el gratuito PostgreSQL ayud a mejorar la
adopcin de la tcnica en los muchos otros sistemas de base de datos que ahora
lo soportan.
Se hicieron mejoras de velocidad importantes. Si bien el proyecto tiene
confiabilidad e integridad de datos priorizada histricamente, hubo un aumento
significativo en el rendimiento.
Mejora de tipos integrados, incluyendo tipos sofisticados de fecha y hora, y soporte
para tipos geomtricos avanzados.
Los aproximadamente 4 aos y 5 correspondientes versiones principales (de la 7.0 a
la 7.4) que marcaron la era 7.* trajeron ms mejoras. Incluyendo:
En particular, una implementacin inicial del WAL (registro de escritura
adelantada). El WAL es una familia de tcnicas para proveer atomicidad y
durabilidad en sistemas de base de datos. Los segmentos de WAL escribe en el
disco una descripcin de los cambios hechos a la base de datos, antes que tener
que aplicar directamente esos cambios.
OUTER JOINs
TOAST, una tcnica para almacenar mayor cantidad de datos comprimidos y fuera
de lnea, por lo que la base de datos podra, por ejemplo, ser usada para
almacenar grandes pasajes de texto eficientemente.
Algunos lenguajes de procedimientos, incluyendo PL/PGSQL, basado en el
PL/SQL de Oracle.
Si bien la lnea 7.* estuvo marcada por mejoras de usabilidad y caractersticas
avanzadas enfocadas al desarrollador que por mucho superaba a todos los proveedores
de bases de datos propietarias, fue la lnea 8.*, que dur desde el 2004 hasta el 2009, la
que trajo caractersticas que previamente se crean ser de la competencia exclusiva de 2
o 3 megacorporaciones. WAL el registro de escritura anticipada fue una parte
arquitecturalmente integral de muchas de estas caractersticas, particularmente la
clusterizacin y caractersticas de alta disponibilidad. Fue y es uno de los enfoques
continuos de las contribuciones de cdigo abierto por parte de 2ndQuadrant para
PostgreSQL. La lnea 8.* tambin es notable por marcar la fundacin de 2ndQuadrant,
que, desde el principio y a partir de la versin 8.0, estuvo fuertemente involucrado en el
proceso de desarrollo de PostgreSQL.
Inicialmente, la versin 8.0 trajo una importante caracterstica: Puntos de restauracin,
o sub-transacciones, por lo que una pieza atmica de trabajo (es decir, una transaccin)
puede subdividirse en piezas ms pequeas de trabajo que pueden atmicamente
abortarse individualmente, sin la necesidad de abortar la transaccin completa. Los
puntos de restauracin incluso pueden ser anidados arbitrariamente. Tal vez una
caracterstica an ms importante introducida en esa versin fue la Restauracin de un
Punto en el Tiempo, una tcnica por medio de la cual es posible proveer respaldos
continuos del servidor, o regresar a cierto punto en el pasado antes de una falla. Tambin
trajo la tan esperada versin nativa para Windows.
La versin 8.1 de 2005 trajo otra caracterstica de clase empresarial por parte de
2ndQuadrant: Particionamiento de tablas mediante el uso de exclusin de
restricciones, la cual es una caracterstica que permite al planeador elidir un
escaneo en tablas hijas de una tabla madre en una herencia de jerarqua, cuando
pude determinar que tal escaneo puede no retornar ningn registro para la
consulta en cuestin.
La versin 8.2 en 2006 consolid las ganancias de las 2 versiones anteriores, con
instrumentos mejorados de informacin de WAL y varias caractersticas de
recuperacin ante fallos. La versin 8.2 tambin fue notable por ser la versin
usada por Greenplum como base para su producto de base de datos propietario,
dirigido al mercado de almacenamiento de datos. Mientras que el valor exacto de
la adquisicin no fue hecho pblico, Greenplum haba planteado, segn se
informa, cerca de $61 millones en financiacin antes de la adquisicin, con eso
como base, la prensa tecnolgica independientemente estim el valor de la oferta
entre $100 y $150 millones.
La versin 8.3 de 2008 marc un hito en el rendimiento. Trajo una serie de
caractersticas mayores de rendimiento, incluyendo:
HOT (montn de tuplas), como una optimizacin que permite el reciclaje de
tuplas muertas, no solamente por el usual proceso de VACUUM, sino tambin
que al momento de hacer INSERT o UPDATE, no ocurra ningn cambio a las
columnas indexadas. Aparte de mejorar considerablemente el rendimiento,
esta optimizacin tambin hace el rendimiento ms consistente.
Commit asncrono, una caracterstica introducida por Simon Riggs, CTO de
2ndQuadrant para permitirle a las transacciones hacer commit asncronamente
por razones de rendimiento, que pude ser usado por aplicaciones donde esto
sea conveniente.
Re-escritura del escritor en segundo plano por parte del consultor principal de
PostgreSQL de Estados Unidos y experto en rendimiento en Postgres, Gregory
Smith, para introducir una nueva estrategia justo a tiempo, que mejoraba
considerablemente la eficiencia de la escritura en el disco.
Una mejora lideraba por 2ndQuarant a la estrategia de desalojo de cach, para
que los escaneos secuenciales grandes no saquen a la fuerza indebidamente
pginas de cach usadas frecuentemente del cach del buffer en la misma
medida.
Mdulo pg_standby, escrito por 2ndQuadrant, que permite una fcil gestin de
espera semiactiva.

La versin 8.4, la ltima de la lnea 8.*, fue lanzada en 2009. Trajo nuevas mejoras
en la usabilidad, caractersticas centradas en el desarrollo y rendimiento,
incluyendo:
Ms caractersticas avanzadas de SQL, como funciones ventana y expresiones
comunes de tabla. Antes de esta versin, estas caractersticas estaban exclusivamente
disponibles en un pequeo nmero de sistemas de base de datos propietarios.
Restauracin paralela: Restaurar la base de datos de un respaldo lgico en paralelo.El
mapa de visualizacin, que reduce notablemente la sobrecarga de vacuum para tablas
que no cambian frecuentemente. El mapa de espacio libre en disco, lo que simplific la
gestin del mapa de espacio libre al punto de que ya no es algo que deba ser considerado
por los usuarios finales.
La actual lnea 9.* representa un cambio para la comunidad PostgreSQL, por varias
razones; principalmente, en la mente de la mayora de los usuarios, por la introduccin de
esta versin de replicacin binaria en tiempo real. Esta fue una caracterstica principal
trada por el trabajo de 2ndQuadrant, como un complemento lgico del anterior trabajo
para la comunidad de la compaa en las caractersticas liberadas de WAL,
especficamente, la introduccin de la funcin de espera activa por parte del CTO de
2ndQuadrant Simon Riggs.
Otra razn por la que la lnea 9.* representa un cambio es porque con ella,
PostgreSQL ha pasado de ser frecuentemente definido por comparaciones con sistemas
de gestin de base de datos propietarios a ser considerado estar en la vanguardia,
superando a todos sus competidores en un nmero de reas importante. Tal vez lo ms
notable sea que la introduccin por parte de 2ndQuadrant de la replicacin sncrona en
PostgreSQL 9.1 ofrezca algo de inmenso valor: replicacin sin prdida de datos. En una
primicia mundial, los usuarios incluso pueden controlar la durabilidad de cada transaccin,
y todos los niveles de durabilidad pueden co-existir en la misma aplicacin.
La lnea 9.* tambin trae una serie de primicias mundiales no directamente
relacionadas con WAL. Estas incluyen la caracterstica de aislamiento de instantnea
serializable, basado en un reciente y bien recibido documento acadmico, a travs del
cual es posible alcanzar verdadera serializacin ofrecida por el bloqueo de predicado, sin
causar ningn bloquea a las transacciones, y por lo tanto sin ningn bloqueo adicional.
Tambin incluye restricciones de exclusin, mediante las cuales es posible solucionar el
problema de doble reserva (para evitar la doble contabilizacin de una sala de
conferencias por medio de tener sesiones superpuestas en el mismo cuarto), aplicado de
la misma manera que una restriccin unique sin el uso de pesados bloqueos explcitos
que matan el rendimiento. Un ejemplo adicional de una caracterstica innovadora
disponible a partir de PostgreSQL 9.1, es la escritura de expresiones comunes de tabla,
introducido por el consultor de 2ndQuadrant Marko Tiikkaja. Esta extensin no estndar
de las expresiones comunes de tabla del estndar SQL le permite usar la clusula WITH
que contengan subconsultas que no sean solamente SELECT, sino tambin INSERT,
UPDATE y DELETE. Esto facilita diversos patrones tiles, como el fcil traslado de datos
(Haciendo un DELETE en una tabla y un INSERT en otra) dentro de una sola consulta o
instantnea.
CARACTERSTICAS

La ltima serie de produccin es la 9.3. Sus caractersticas tcnicas la hacen una
de las bases de datos ms potentes y robustos del mercado. Su desarrollo comenz hace
ms de 16 aos, y durante este tiempo, estabilidad, potencia, robustez, facilidad de
administracin e implementacin de estndares han sido las caractersticas que ms se
han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes
cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.
Generales
Es una base de datos 100% ACID
Integridad referencial
Tablespaces
Nested transactions (savepoints)
Replicacin asincrnica/sincrnica / Streaming replication - Hot Standby
Two-phase commit
PITR - point in time recovery
Copias de seguridad en caliente (Online/hot backups)
Unicode
Juegos de caracteres internacionales
Regionalizacin por columna
Multi-Version Concurrency Control (MVCC)
Mltiples mtodos de autentificacin
Acceso encriptado via SSL
Actualizacin in-situ integrada (pg_upgrade)
SE-postgres
Completa documentacin
Licencia BSD
Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX,
Mac OS X, Solaris, Tru64) y Windows 32/64bit.
Programacin / Desarrollo
Funciones/procedimientos almacenados (stored procedures) en numerosos
lenguajes de programacin, entre otros PL/pgSQL (similar al PL/SQL de oracle),
PL/Perl, PL/Python y PL/Tcl
Bloques annimos de cdigo de procedimientos (sentencias DO)
Numerosos tipos de datos y posibilidad de definir nuevos tipos. Adems de los
tipos estndares en cualquier base de datos, tenemos disponibles, entre otros,
tipos geomtricos, de direcciones de red, de cadenas binarias, UUID, XML,
matrices, etc
Soporta el almacenamiento de objetos binarios grandes (grficos, videos, sonido,
entre otros)
APIs para programar en C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, PHP,
Lisp, Scheme, Qt y muchos otros.
SQL
SQL92,SQL99,SQL2003,SQL2008
Llaves primarias (primary keys) y forneas (foreign keys)
Check, Unique y Not null constraints
Restricciones de unicidad postergables (deferrable constraints)
Columnas auto-incrementales
Indices compuestos, nicos, parciales y funcionales en cualquiera de los metodos
de almacenamiento disponibles, B-tree, R-tree, hash GiST
Sub-selects
Consultas recursivas
Funciones 'Windows'
Joins
Vistas (views)
Disparadores (triggers) comunes, por columna, condicionales.
Reglas (Rules)
Herencia de tablas (Inheritance)
Eventos LISTEN/NOTIFY
Lmites:
Lmite Valor
Mximo tamao base de dato
Ilimitado (Depende de tu sistema de
almacenamiento)
Mximo tamao de tabla 32 TB
Mximo tamao de fila 1.6 TB
Mximo tamao de campo 1 GB
Mximo numero de filas por tabla Ilimitado
Mximo numero de columnas por
tabla
250 - 1600 (dependiendo del tipo)
Mximo numero de indices por
tabla
Ilimitado
TIPOS DE DATOS
Uso General
NOMBRE ALIAS DESCRIPCIN
Bigint int8 Entero con signo ocho bytes
bigserial serial8
Entero auto incremento
ocho bytes
bit [ (n) ] Cadena bit de longitud fija
bit varying [ (n) ] varbit
Cadena bit de longitud
variable
boolean bool Booleano lgico (trae/false)
Box
Caja rectangular en un
plano
Bytea
Datos binarios ("arreglo
byte ")
character varying [ (n) ] varchar [ (n) ]
Cadena de carcter de
longitud variable
character [ (n) ] char [ (n) ]
Cadena de carcter de
longitud fija
Cidr
Direcciones de red IPv4 o
IPv6
Circle Circulo en un plano Circulo en un plano
Date
Fecha calendario (ao,
mes, da)
Double precision float8
Numrico de punto flotante
de doble
Inet
Direccin de host IPv4 o
IPv6
integer int, int4
Entero con signo de cuatro
bytes
interval [ fields ] [ (p) ] Intervalo de tiempo
line Lnea infinita en un plano
lseg
Segmento de lnea en un
plano
macaddr
Direccin MAC (Media
Acceso Control)
money Cantidad de moneda
numeric [ (p, s) ] decimal [ (p, s) ]
Numrico exacto de
precisin
seleccionable
path
Proyeccin geomtrica en
un plano
point
Punto geomtrico en un
plano
polygon
Proyeccin cerrada en un
plano
real float4
Nmero de precisin simple
de punto
Nmero de precisin simple
de punto

Nmero de precisin simple
de punto
flotante (4 bytes) flotante (4 bytes) flotante (4 bytes)
smallint int2
Entero con signo de dos
bytes
serial serial4
Entero de cuatro bytes auto
incremental
text
Cadena de caracteres de
longitud variable
time [ (p) ] [ without time
zone ]

Hora y da (sin zona
horaria)
time [ (p) ] with time zone timetz
Hora de da, con zona
horaria
timestamp [ (p) ] [ without
time zone ]

Fecha y hora (sin zona
horaria)
timestamp [ (p) ] with time
zone
timestamptz
Fecha y hora, incluyendo
zona horaria
tsquery
Consulta de bsqueda de
texto
tsvector
Documento de bsqueda de
texto
txid_snapshot
Instantnea del ID de la
transaccin a nivel de
usuario
uuid Identificador nico universal
xml Data XML

Numricos
NOMBRE
TAMAO DE
ALMACENAMIENTO
DESCRIPCIN RANGO
Smallint 2 bytes
Entero de pequeo
rango
-32768 a +32767
Integer 4 bytes
Entero (utilizado con
regularidad)
2147483648 a
+2147483647
Bigint 8 bytes Entero de amplio rango
-9223372036854775808 a
9223372036854775807
Decimal variable
Precisin especificada
por el usuario, exacta
Sin limite
Numeric variable
Precisin especificada
por el usuario, exacta
Sin limite
Real 4 bytes
Precisin variable
inexacta
6 dgitos decimales de
precisin
Double
precisin
8 bytes
Precisin variable
inexacta
15 dgitos decimales de
precisin
Serial 4 bytes Entero auto incremento 1 a 2147483647
Bigserial 8 bytes
Entero grande auto
incremento
1 a
9223372036854775807

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).
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.

Moneda
NOMBRE
TAMAO DE
ALMACENAMIENTO
DESCRIPCIN RANGO
money 8 bytes
Cantidad de
moneda
-92233720368547758.08
a
+92233720368547758.07

Carcter
NOMBRE ALIAS 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

Datos Binarios

Las cadenas binarias permiten almacenar octetos de valor cero y otros octetos no
imprimibles.
NOMBRE
TAMAO DE
ALMACENAMIENTO
DESCRIPCIN
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 todos 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
REPRESENTACIN
DE
LA SALIDA
0 Cero octeto E'\\000'
SELECT
E'\\000'::bytea;
\000
39 Comilla Simple '''' o E'\\047'
SELECT
E'\''::bytea;
'
92 Barra Invertida E'\\\\' o E'\\134'
SELECT
E'\\\\'::bytea;
\\
0 a 31 y
127
a 255
Octetos no
imprimibles
E'\\xxx' (valor octal)
SELECT
E'\\001'::bytea;
\001
32 a 126
Octetos
imprimibles
Representacin del
conjunto de
caracteres del
cliente
SELECT
E'\\176'::bytea;
~

Fecha/Hora
NOMBRE
TAMAO
ALMACENAJE
DESCRIPCIN
VALOR
BAJO
VALOR
ALTO
RESOLUCIN
timestamp
[
(p) ] [
without
time
zone ]
8 bytes
Ambas fecha y
hora (sin zona
horaria)

4713 BC
294276
AD
1 microsegundos/
14 dgitos
timestamp
[
(p) ] with
time zone
8 bytes
Ambas fecha y
hora con zona
horaria
4713 BC
294276
AD
1 microsegundos
/ 14 dgitos
Date 4 bytes fecha (sin hora) 4713 BC
5874897
AD
1 da
time [ (p) ]
[
without
time
zone ]
8 bytes
Hora del da (sin
fecha)
00:00:00 24:00:00
1 microsegundos
/ 14 dgitos
time [ (p) ]
with time
zone
12 bytes
Hora del da,
con zona
horaria
00:00:00
+1459
24:00:00-
1459
1 microsegundos
/ 14 dgitos
interval [
fields ] [
(p) ]
12 bytes
Intervalo de
hora
-
1780000
00
aos
17800000
0
aos
1 microsegundos
/ 14 dgitos

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 vlidos para el estado "false" son: 'FALSE', 'f', 'false', 'n', 'no', 'off', '0'

Geomtricos
NOMBRE
TAMAO DE
ALMACENAMIENTO
REPRESENTACIN DESCRIPCIN
Point 16 bytes (x,y)
El punto en un
plano
Line 32 bytes ((x1,y1),(x2,y2))
Lnea infinita (No se
aplica
plenamente)
Lseg 32 bytes ((x1,y1),(x2,y2))
Segmento de lnea
finito
Box 32 bytes ((x1,y1),(x2,y2)) Caja rectangular
Path 16+16n bytes ((x1,y1),...)
trayectoria cerrada
(parecido
a un polgono)
Path 16+16n bytes [(x1,y1),...] trayectoria abierta
polygon 40+16n bytes ((x1,y1),...)
Polgono (parecido
a la
trayectoria cerrada)
Circle 24 bytes
<(x,y),r> (punto
central
y el radio)
Circulo

Almacenar Direcciones de Redes
NOMBRE
TAMAO DE
ALMACENAMIENTO
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
VENTAJAS

Instalacin Ilimitada: Con PostgreSQL, nadie puede demandarlo por violar
acuerdos de licencia, puesto que no hay costo asociado a la licencia del software.

Soporte: Adems de las ofertas de soporte, hay una importante comunidad de
profesionales y entusiastas de PostgreSQL de los que las compaas pueden
obtener beneficios y contribuir.

Ahorros considerables en costos de operacin: PostgreSQL ha sido diseado
y creado para tener un mantenimiento y ajuste mucho menor que otros productos,
conservando todas las caractersticas, estabilidad y rendimiento.

Estabilidad y Confiabilidad Legendarias: Es extremadamente comn que
compaas reporten que PostgreSQL nunca ha presentado cadas en varios aos
de operacin de alta actividad. Ni una sola vez. Simplemente funciona.

Extensible: El cdigo fuente est disponible para todos sin costo. Si su equipo
necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo
con un mnimo esfuerzo, sin costos adicionales.
Esto es complementado por la comunidad de profesionales y entusiastas
de PostgreSQL alrededor del mundo que tambin extienden PostgreSQL todos los
das.

Multiplataforma: PostgreSQL est disponible en casi cualquier Unix (34
plataformas en la ltima versin estable), y ahora en versin nativa para Windows.

Diseado para ambientes de alto volumen: PostgreSQL usa una estrategia de
almacenamiento de filas llamada MVCC para conseguir una mejor respuesta en
ambientes de grandes volmenes.
Los principales proveedores de sistemas de bases de datos comerciales
usan tambin esta tecnologa, por las mismas razones.

Herramientas grficas de diseo y administracin de BD: Existen varias
herramientas grficas de alta calidad para administrar las bases de datos
(pgAdmin , pgAccess) y para hacer diseo de bases de datos (Tora , Data
Architect)
HERRAMIENTAS PARA ADMINISTRACIN

PHPPgAdmin
PHPPgAdmin es una poderosa herramienta de administracin basada en un
interfaz Web para bases de datos PostgreSQL.
Adems de la funcionalidad bsica, dispone de soporte para procedimientos
almacenados, triggers y vistas.
Las versiones de punta van mano a mano con el desarrollo del servidor
PostgreSQL.
Esta versin es una de la mas famosa de los administradores GUI para
PostgreSQL.
PSQL
Es la herramienta cannica para la ejecucin de sentencias SQL a travs del shell
del SO.
Es una herramienta de tipo frontend que permite describir sentencias SQL,
ejecutarlas y visualizar sus resultados.
El mtodo de ingreso puede ser mediante la insercin directa del cdigo en la
consola, o la ejecucin de sentencias dentro de un archivo de texto.
Provee de diversos meta-comandos para la ejecucin de las sentencias, as como
diversas opciones tipo shell propias de la herramienta.

PgExplorer
PgExplorer es una herramienta de desarrollo para Postgres con una amplia
interfaz grfica.
Entre sus caractersticas se incluye un vista en rbol de las bases de datos y sus
respectivos objetos.
Se puede realizar ingeniera inversa a travs de sentencias SQL o scripts
personalizados.
Hay una amplia gama de asistentes que guan a travs del proceso necesario para
generar comandos SQL para varios objetos y sentencias.
Tambin incluye un Diseador de Consultas Grfico

PgAdmin3
Es una interfaz comprensible para el diseo y administracin de una base de datos
PostgreSQL, diseada para ejecutarse en la mayora de los Sistemas Operativos.
La aplicacin corre bajo GNU/Linux, FreeBSD y Windows 2000/XP
La interfaz grfica soporta todas las caractersticas de PostgreSQL y facilita la
administracin.
REFERENCIAS:

[1] http://2ndquadrant.com/es/postgresql/postgresql-la-historia-hasta-ahora/
[2] http://www.postgresql.org.es/sobre_postgresql
[3] http://www.lgs.com.ve/pres/PresentacionES_PSQL.pdf
[4] http://www.upel.edu.ve/comunidti/images/comunidti/tipodedatospostgresql.pdf

Вам также может понравиться