Académique Documents
Professionnel Documents
Culture Documents
MANUAL DE INSTALACIN
CARACTERSTICAS DE POSTGRESQL
PostgreSQL es un poderoso Sistema Gestor de Base de Datos Objeto-Relacional. Tiene ms de 15 aos de desarrollo y una muy bien probada arquitectura que ha ganado una fuerte reputacin de confiabilidad, integridad de datos y exactitud. Incluye muchos de los tipos de datos SQL:2008. Tambin incluye almacenamiento de grandes objetos binarios como fotos, sonido y video. Tiene una interfaz de programacin nativa para C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, entre otros. Adems de una muy buena documentacin en general. Como base de datos empresarial, PostgreSQL provee caractersticas sofisticadas como MultyVersion Concurrency Control (MVCC), restauracin Point In Time, tablespaces, replicacin asncrona, online/hot backups, un sofisticado planeador/optimizador de consultas, y un write ahead logging para tolerancia a fallos. Su implementacin SQL se ajusta firmemente al estndar la ANSI-SQL:2008. Tiene soporte completo para subconsultas (incluyendo subselecciones en la clusula FROM). La integridad de datos incluye llaves primarias (compuestas), claves forneas con restricciones y actualizaciones/eliminaciones en cascada, restricciones CHECK, restricciones UNIQUE y restricciones NOT NULL. Tambin cuenta con una gran cantidad de extensiones y funciones avanzadas. Entre las que se tienen: columnas de incremento automtico a travs de secuencias, y LIMIT/OFFSET que permite la devolucin de conjuntos de resultados parciales. PostgreSQL soporta ndices compuestos, nicos, parciales y funcionales que pueden utilizar cualquiera de los mtodos Btree , R -tree , hash, o mtodos de almacenamiento GIST. Posee herencia de tablas, reglas del sistema y eventos de base de datos. Adems es altamente personalizable, ejecuta procedimientos almacenados en ms de una docena de lenguajes de programacin, incluyendo Java, Perl, Python, Ruby, Tcl, C/C++, y su propio lenguaje PL/pgSQL, que es similar al PL/SQL de Oracle. El cdigo fuente de PostgreSQL est disponible bajo una licencia liberal de cdigo abierto: La licencia PostgreSQL. Esta licencia da la libertad de usar, modificar y distribuir PostgreSQL en cualquier forma, ya sea cdigo abierto o cerrado. Todas las modificaciones, mejoras o cambios que realice son suyos para hacer lo que quiera.
Generales
Programacin/Desarrollo
SQL
Pgina 2
LIMITACIONES DE POSTGRESQL
Lmite Mximo tamao base de dato Mximo tamao de tabla Mximo tamao de fila Mximo tamao de campo Mximo numero de filas por tabla Ing. Elmer Arturo Carballo Ruiz Valor Ilimitado (Depende de tu sistema de almacenamiento) 32 TB 1.6 TB 1 GB Ilimitado Pgina 3
El Proyecto PostgreSQL tiene como objetivo mantener y soportar cada versin de PostgreSQL durante 5 aos desde el momento de su lanzamiento.
COMPONENTES DE POSTGRESQL
El sistema de PostgreSQL se describe de la siguiente manera:
Tabla 2: Componentes de PostgreSQL
Componente
Aplicacin Cliente
Descripcin
Esta es la aplicacin cliente que utiliza PostgreSQL como administrador de bases de datos. La conexin puede ocurrir va TCP/IP o sockets locales. LIBPG Es el responsable de manipular las comunicaciones entre la aplicacin cliente y el postmaster 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. El postmaster se configura por medio de los ficheros de Configuracin. Ficheros de configuracin Los 3 ficheros principales de configuracin utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf Procesos 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 Memoria compartida usada por PostgreSQL para almacenar cache 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
Pgina 4
Pgina 5
Pgina 6
REQUERIMIENTOS DE POSTGRESQL
En general se espera que PostgreSQL 9.3 pueda trabajar con las siguientes arquitecturas de CPU: x86, x86_64, IA64, PowerPC, PowerPC 64, S/390, S/390x, Sparc, Sparc 64, Alpha, ARM, MIPS, MIPSEL, M68K y PA-RISC. Tambin para M32R, NS32K y VAX, pero estas arquitecturas no se sabe que hayan sido probadas recientemente. Adicionalmente se epera que PostgreSQL 9.3 pueda trabajar con los siguientes sistemas operativos: Linux (todas las recientes distribuciones), Windows (Win2000 SP4 y superior), FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, IRIX, Solaris, Tru64 Unix y UnixWare. Otros tipos de sistemas Unix tambin deberan funcionar pero no an sido probados actualmente. La documentacin oficial de PostgreSQL no especifica explcitamente los requerimientos mnimos y recomendados para su funcionamiento, sin embargo, si hace mencin del espacio de almacenamiento mnimo para su instalacin, arquitectura y sistema operativo soportados. Por otro lado hay expertos que proporcionan esta informacin, pero que vara segn el criterio de cada uno. De la documentacin oficial se tienen los siguientes estimados: 100MB de espacio si se piensa compilar el cdigo fuente. 20MB adicionales para el directorio de instalacin. 35MB adicionales para un clster de Base de Datos vaco. 150MB adicionales si se piensa ejecutar un test de regresin (En Linux).
De fuentes externas se tienen los siguientes requerimientos: REQUERIMIENTOS MNIMOS: 8 MB de memoria RAM. 30 MB de espacio en disco duro para el cdigo fuente. 5 MB de espacio en disco duro para la instalacin de los ejecutables. 1 MB extra para las bases de datos bsicas. 3 MB de espacio en disco duro para el tarball con el cdigo fuente (Linux). REQUERIMIENTOS RECOMENDADOS (Para un ambiente de produccin): CPU de 64bits SO de 64bits 2GB de RAM Dual CPU/Core RAID 1 Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o ms discos. Sirve para obtener confiabilidad en el almacenamiento. Un RAID 10 sera preferible pero ac hablamos de requerimientos recomendados por lo que RAID 1 es aceptable. El core del Sistema Gestor de Bases de Datos Objeto-Relacional de PostgreSQL est disponible en varias formatos fuete y binarios.
Pgina 7
Pgina 8
4- Del cuadro Current Releases podremos descargar el paquete de instalacin de la ltima versin de PostgreSQL para los Sistemas Operativos disponibles.
5-
Para el desarrollo de este manual se ha descargado el paquete de instalacin de PostgreSQL para Linux-64 (*.run) y Windows-64 (*.exe).
Pgina 9
--mode <mode> --debugtrace <debugtrace> --installer-language <installer-language> --extract-only <extract-only> --superaccount <superaccount> --servicename <servicename> --serviceaccount <serviceaccount>
--servicepassword <servicepassword>
--install_runtimes <install_runtimes>
DESCRIPCIN Despliega una lista con las opciones disponibles Despliega la informacin sobre el producto Unattended Mode UI Valor por defecto: minimal Permitidos: none, minimal, minimalWithDialogs Archivo de configuracin para la instalacin Debug information level of verbosity Valor por defecto: 2 Permitidos: 0, 1, 2, 3, 4 Installation mode Valor por defecto: qt Permitidos: qt, win32, unattended Debug filename Seleccin de lenguaje Valor por defecto: es Permitidos: en, es, fr Valor por defecto: 0 Establece el nombre de usuario de la base de datos de superusuario. Valor por defecto: postgres Establece el nombre del servicio de base de datos. Establece la cuenta de usuario del sistema operativo que posee el proceso de servidor. Por defecto es 'postgres'. Establece la contrasea de la cuenta de usuario del sistema operativo que posee proceso de servidor. Por defecto es la contrasea de superusuario Especifica si instala o no el runtime de Microsoft Visual C++ antes de que la instalacin proceda. Pgina 10
--prefix <prefix>
--datadir <datadir>
Tener en cuenta que podemos ejecutar el instalador mediante un archivo de configuracin pasando el nombre de este archivo por la lnea de comando -optionfile /path/to/optionfile.
El archivo puede contener solamente parmetros disponibles en un formato opcin=valor. Por ejemplo:
prefix=/usr/local/pgsql84 datadir=/var/lib/pgsql84 port=5678
Pgina 11
3- Desde la consola, nos desplazamos a la carpeta donde se encuentra el paquete de instalacin de PostgreSQL que hemos descargado antes. En este ejemplo se encuentra en Escritorio.
Pgina 12
5- Podemos ver las opciones disponibles en la instalacin de PostgreSQL al ejecutar ./postgresql-9.3.1-linux-x64.run help.
6- Ejecutaremos el instalador en modo desatendido mediante la opcin mode unattended. Opcionalmente podemos especificar el directorio donde ser instalado PostgreSQL mediante prefix /directorioDestino, tambin especificar el directorio de datos mediante datadir /directorioDestino, especificar la contrasea de administrador con superpassword <password> o bien especificar el puerto mediante port <####>, entre otros.
8- Esperamos a que el cuadro de dilogo desaparezca, y si no hay errores, el proceso de instalacin de PostgreSQL en Debian ha finalizado. Adicionalmente se habr instalado la herramienta de administracin de PostgreSQL pgAdmin III y la herramienta Ing. Elmer Arturo Carballo Ruiz Pgina 13
INSTALACION DE POSTGRESQL 9.3 EN WINDOWS SERVER 2008 ESTNDAR EDITION (64 BITS)
Para instalar PostgreSQL 9.3 es necesario tener instalado en Windows el Runtime de Microsoft Visual C++ 2010 Redistributable. El paquete de instalacin de PostgreSQL 9.3 usado para este manual instala por defecto este software antes de proceder a instalar PostgreSQL, sin embargo puede decidir si instalarlo o no mediante el parmetro install_runtimes descrito en la Tabla 3: Parmetros de instalacin del paquete. 1- Damos clic en el men de inicio de Windows, y ejecutamos Smbolo del sistema como administrador.
2- Acceder a la carpeta donde se encuentra almacenado el paquete de instalacin de PostgreSQL. En este ejemplo se encuentra en Escritorio.
Pgina 14
3- Podemos ver las opciones disponibles en la instalacin de PostgreSQL al ejecutar postgresql-9.3.1-linux-x64.run help.
4- Ejecutaremos el instalador en modo desatendido mediante la opcin mode unattended. Opcionalmente podemos especificar el directorio donde ser instalado PostgreSQL mediante prefix /directorioDestino, tambin especificar el directorio de datos mediante datadir /directorioDestino, especificar la contrasea de administrador con superpassword <password> o bien especificar el puerto mediante port <####>, entre otros.
Pgina 15
Pgina 16
2- Navegamos hasta la carpeta bin del directorio de instalacin de PostgreSQL. Para este caso C:\ PostgreSQL\9.3\bin
Pgina 17
3- Ejecutamos initdb con los parmetros para crear un nuevo Clster de BD.
5- Cuando finalice el proceso de creacin del clster, siempre dentro de la carpeta bin, ejecutamos pg_ctl con todos los parmetros necesarios para iniciar un servidor asociado al clster creado.
7- Ahora podemos establecer conexiones en el puerto 5436 del nuevo clster de BD creado.
Pgina 18
Pgina 19
3- Antes que nada, creamos el directorio donde se almacenar el clster, y damos permisos a la cuenta de usuario que no es Root pasa usar la carpeta del clster. (en este caso la cuenta de usuario sin privilegios de Root se llama ues)
4- Navegamos hasta la carpeta bin del directorio de instalacin de PostgreSQL. Para este caso /usr/PostgreSQL/9.3/bin
6- Ejecutamos initdb con los parmetros para crear un nuevo Clster de BD.
Pgina 20
8- Cuando finalice el proceso de creacin del clster, siempre dentro de la carpeta bin, ejecutamos pg_ctl con todos los parmetros necesarios para iniciar un servidor asociado al clster creado.
10- Ahora podemos establecer conexiones en el puerto 5436 del nuevo clster de BD creado.
Pgina 21
DESINSTALACIN
Si se necesita desinstalar PostgreSQL, solamente se debe ejecutar el en cualquier momento el desinstalador creado durante el proceso de instalacin. Tener en cuenta que el desinstalador nunca eliminar los directorios de datos (clster de base de datos) o la cuenta de servicio de usuario. El desinstalador se encuentra en el directorio donde fue instalado PostgreSQL, y se puede ejecutar de la misma manera en que se ejecut el instalador, a diferencia que para este proceso no se requieren opciones adicionales. En Windows, tambin se puede ejecutar el desinstalador desde Agregar o Quitar Programas del Panel de Control.
Pgina 22