Académique Documents
Professionnel Documents
Culture Documents
DBMS relacional, ultimo release estable 7.4.6 Proyecto del tipo Open Source Se encuentra bajo licencia BSD
El proyecto principal solo se dedica al desarrollo del motor de la db y la interfase de consola con el administrador Mltiples proyectos de administradores grficos y por web
Soporte de conexin va Api, Odbc, Jdbc, UnixOdbc, iOdbc y Adodb.net, todos en proyectos independientes Multiplataforma, funciona en Linux, BSD, *nix, Novell Netware, Mac Os X y Windows (nativo solo la 8.0 oficial) No existe representacin local oficial, ni centro de entrenamiento oficial
Puedes desarrollar negocios con PostgreSQL sin problemas por la licencia BSD En las comunidades se brinda soporte gratuito, utilizando la manera correcta En las comunidades participan programadores del mismo motor de la base de datos Lo puedes modificar a tus necesidades Si lo usas en Linux, BSD o *nix es inmune a los virus Requerimientos mnimos para instalacin
Las funciones (store procedures) pueden desarrollarse en varios lenguajes, cada lenguaje debe ser inscrito en la base de datos que lo usar.
Sql -> Ansi Sql92 y 99, no es muy funcional Pl/pgsql -> el mas utilizado y funcional, se compila por conexin al momento de invocarlo C -> C comn y corriente, se generan pequeos programas que invoca directamente el motor, son rpidos si el servidor es rpido Perl -> poco usado Python -> poco usado PHP -> se compila el motor con un parche especial que da esta funcionalidad, fciles de programar, son rpidos si el servidor es rpido, disponible para las ramas 7.4.x y 8.x y con las ramas de PHP 4.3.x y la 5.x http://plphp.commandprompt.com
PgCluster un parche adicional que nos permite manejar : cluster de bases de datos, balanceo de carga y replicacin de servidores todo en uno, solo disponible para la versin 7.3.6. http://www.csra.co.jp/~mitani/jpug/pgcluster/en/index.html
Variedad de lenguajes con soporte nativo incluido para PostgreSQL : php, gambas, python, c, etc. Servicios adicionales probados con PostgreSQL
Autentificacin de Apache Web Server OpenLdap http://www.samse.fr/GPL/ldap_pg/HOWTO/ Autentificacin sasl para mta Postfix Variedad de software libre de aplicaciones especificas : foros, cms, erp, crm, galeras fotogrficas, etc.
Funciones con el mismo nombre pero diferente cantidad de parmetros son aceptadas Creacin de secuencias automticas como objetos dentro de la mismas base de datos
CREATE SEQUENCE public.inc INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 80 CACHE 1;
El identificador nico de objetos (OID) puede ser utilizado como llave fornea ya que existe como tipo de datos. Limites de PostgreSQL (bsicamente dictaminados por el OS y el hardware en que instalen el motor)
Maximum Maximum Maximum Maximum Maximum Maximum Maximum
size for a database? unlimited (32 TB databases exist) size for a table? 32 TB size for a row? 1.6 TB size for a field? 1 GB number of rows in a table? unlimited number of columns in a table? 250-1600 number of indexes on a table? unlimited
Americatel maneja sus logs de tarifacin con PostgreSQL (70gb aprox.) Camara de Comercio de Lima maneja servicios de portal y bsquedas de protestos con PostgreSQL (32gb aprox.) Prompyme atiende el portal de compras del estado con PostgreSQL 7.4.2 (10-15 millones de registros aprox.), el servidor es una PC clnica P-IV 2ghz con 1gbyte de ram y Hd de 80gb IDE Grupo Carolina maneja su sistema de Ordenes de Trabajo con PostgreSQL 7.4.2 ( 300 a 500 nuevas ordenes mensuales), el servidor es un desktop en Linux RedHat 9.0 P-III con 128mb de Ram atendiendo 8 clientes del sistema
Instalando PostgreSQL
La plataforma recomendada es BSD por el manejo dinmico de prioridades de procesos de I/O Fuentes en http://www.postgresql.org Existen binarios para RedHat, Debian, Suse, Mandrake, Conectiva, etc.
Ultima rama estable 7.4.x, nueva rama 8.x en beta (ambas disponibles para Windows) Sistema de archivos recomendado ext3 (journaling), no existe mucha diferencia entre usar FS non-journaling y jounaling en cuanto a performance Requerimientos no exigidos pero esenciales : ncurses y bison Funcionalidades especiales es requerido compilar
Compile los fuentes o instale los binarios Cree un usuario administrador del PostgreSQL en Linux Ingrese como el usuario administrador
Cree un directorio donde se crearan las bases de datos, el owner del directorio debe ser el usuario administrador Inicialice la base de datos : [ruta_bin]/initdb -D [ruta_db] Levante el motor: [ruta_db]/postmaster -D [ruta_db] Ya puede trabajar con PostgreSQL :)
A tomar en cuenta
El motor de PostgreSQL no se puede ejecutar como root en ambientes Linux, Bsd y *unix PostgreSQL se instala por defecto para usar el puerto 5432, esto es modificable Los directorios que se generan dentro del directorio de instalacin son los que contienen la data, no edite los archivos, la data no es entendible a simple vista. La configuracin del servidor reside en el mismo directorio donde se creo, este debe contener los siguientes archivos :
PG_VERSION pg_hba.conf pg_ident.conf postgresql postgresql.conf
-> versin de PostgreSQL que instalo -> configuracin de accesos -> puente entre usuarios *nix y usuarios de -> configuracin general del motor
Problemas comunes
Matar el servicio del PostgreSQL puede ocasionar perdida irreparable de la base de datos. Cadas del servidor mientras se procesan transacciones dejan creado el archivo postmaster.pid, al volver a levantarlo el servidor le indicara que debe borrar este archivo, en algunas ocasiones deja similares archivos en el directorio temporal de la distribucin que este usando. Las bsquedas son lentas a pesar que ser crean ndices especficos para estas si es que no se realiza un Vacuum Analyze para que el motor determine las estadsticas de la tabla.
PgAdminIII
http://www.pgadmin.org/pgadmin3/index.php?locale=es_ES
PhpPgAdmin http://phppgadmin.sourceforge.net/
http://www.aquafold.com/
Multiplataforma
Webmin http://www.webmin.com/
PgAccess http://www.flex.ro/pgaccess/
Umbrello
http://uml.sourceforge.net/index.php
DBDesigner4
http://www.fabforce.net/dbdesigner4/
Genera SQL para Mysql pero con un parche genera Sql para PostgreSQL http://www.tv.com .pl/stepbystep/ dbdesigner/ Multiplataforma
PostgreSQL vs MySQL
PostgreSQL incorpora mucho antes tecnologa que MySQL recien esta incorporando (sub-consultas, integridad referencial, transacciones, programacin en el servidor, etc.) Algunas estadsticas no oficiales mencionan que a mayor volumen de datos PostgreSQL tiene mucho mejores tiempos de respuestas. La licencia de PostgreSQL es mas libre que la de MySQL.