Instalación
Advertencia:
Esta sección se mantiene como referencia pero su contenido puede ya no ser del todo útil por
la versión de programas usados: PostgreSQL 9.3 en Slackware Linux 14.1
A continuación se dan los pasos básicos para compilar e instalar el SGBD PostgreSQL:
Descarga el código fuente de PostgreSQL:
Determina la versión de PostgreSQL que te interese, disponible en http://www.postgresql.org/ftp/source/.
En este documento se hará uso de la versión
9.3.5
y la documentación para su compilación se encuentra en http://www.postgresql.org/docs/9.3/static/installation.html
Descomprime el código fuente de PostgreSQL.
- En este caso se obtiene el directorio
postgresql-9.3.5
y los siguientes pasos serán llevados a cabo en él.
- En este caso se obtiene el directorio
Configura las opciones para la compilación del código fuente de PostgreSQL:
Podrás obtener una lista de las opciones que tienes disponibles para compilar el código de PostgreSQL, de acuerdo a tus necesidades o carácteristicas del sistema operativo, mediante el comando
configure --help
.Una de las opciones básicas es
--prefix
que nos permite indicar en que directorio se depositarán todos los archivos binarios de PostgreSQL, esto es: archivos ejecutables, de configuración, librerías, cabeceras (headers), etc.Como ejemplo, suponiendo que el código fuente de PostgreSQL se encuentre en el directorio
postgresql-9.3.5
y se desea que los archivos binarios sean depositados en el directorio/var/tmp/pg1
:[alumno@servidor postgresql-9.3.5]$ ./configure --prefix=/var/tmp/pg1 checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu ... config.status: linking src/include/port/linux.h to src/include/pg_config_os.h config.status: linking src/makefiles/Makefile.linux to src/Makefile.port
Para más información: http://www.postgresql.org/docs/9.3/static/install-procedure.html
Compila el código fuente:
[alumno@servidor postgresql-9.3.5]$ make make -C src all make[1]: Entering directory ... ... make[1]: Leaving directory ... All of PostgreSQL successfully made. Ready to install.`
Instala los archivos binarios de PostgreSQL:
[alumno@servidor postgresql-9.3.5]$ make install-strip make use_install_sh=yes \ INSTALL_PROGRAM_ENV=”STRIPPROG=’strip’” \ ... PostgreSQL installation complete. make[1]: Leaving directory ...
Opcionalmente, para instalar la documentación ofrecida dentro del código fuente de PosgreSQL ejecuta:
[alumno@servidor postgresql-9.3.5]$ make install-docs make -C doc install make[1]: Entering directory ... ... make[2]: Leaving directory ... make[1]: Leaving directory ...
Opcionalmente, para instalar los modulos ofrecidos dentro del código fuente de PostgreSQL ejecuta:
[alumno@servidor postgresql-9.3.5]$ cd contrib/ [alumno@servidor contrib]$ make all make -C adminpack all make[1]: Entering directory ... ... make[1]: Leaving directory make use_install_sh=yes \ INSTALL_PROGRAM_ENV=”STRIPPROG=’strip’” \ ... make[2]: Leaving directory ... make[1]: Leaving directory ...
Notas
Observa la estructura interna de
/var/tmp/pg1/
, ya sea con FileZilla o desde la línea de comandos con el comandotree
:[alumno@servidor ~]$ tree -L 1 /var/tmp/pg1/ /var/tmp/pg1/ ├── bin ├── include ├── lib └── share 4 directories, 0 files [alumno@servidor ~]$ tree -L 1 /var/tmp/pg1/bin/ /var/tmp/pg1/bin/ ├── clusterdb ├── createdb ├── createlang ├── createuser ├── dropdb ├── droplang ├── dropuser ├── ecpg ├── initdb ├── oid2name ├── pg_archivecleanup ├── pg_basebackup ├── pg_config ├── pg_controldata ├── pg_ctl ├── pg_dump ├── pg_dumpall ├── pg_isready ├── pg_receivexlog ├── pg_resetxlog ├── pg_restore ├── pg_standby ├── pg_test_fsync ├── pg_test_timing ├── pg_upgrade ├── pg_xlogdump ├── pgbench ├── postgres ├── postmaster -> postgres ├── psql ├── reindexdb ├── vacuumdb └── vacuumlo 0 directories, 33 files
La instalación se encuentra en un directorio ”no estandar” por lo que no se ha integrado PostgreSQL al sistema operativo. Lo anterior, visto de otra forma, indica que el sistema operativo desconoce la instalación de PostgreSQL por lo que la configuración y ejecución de una instancía de PostgreSQL recae en nuestras manos, pero sobre todo las actualizaciones de PostgreSQL.
- Ante esta situación podemos tener instaladas varias versiones de PostgreSQL, por ejemplo
la versión
9.2.4
en el directorio/opt/postgres/9.2.4/
y la versión9.0.10
en el directorio/opt/postgres/9.0.10
.
- Ante esta situación podemos tener instaladas varias versiones de PostgreSQL, por ejemplo
la versión