Está en la página 1de 7

Introducción

El presente documento es una guía rápida de instalación de alguna herramienta particular. De seguro
existen otras formas de realizar el proceso de instalación, pero esta es la que mejor le ha funcionado al
autor a lo largo de los años. Para utilizar el presente documento se requieren conocimientos mínimos de
linux, su estructura básica de directorios, el uso de la consola y las instrucciones básicas de shell.
Además, se espera que el lector tenga suficiente sentido común para adaptarse a cualquier diferencia
existente entre el procedimiento que se describe en este documento y la distribución o versión de linux
utilizada.

Instalación de Apache Tomcat


Para compilar PostgreSQL es necesario tener instalado el gcc y las herramientas de desarrollo. También
es posible que sea necesario instalar los paquetes de desarrollo de algunas librerías. No se brinda una
lista exacta de las librerías que es necesario instalar porque esto puede variar dependiendo de la
distribución, la versión linux y la forma de instalar el sistema operativo.

PASO 1:
Descargar PostgreSQL de: http://www.postgresql.org/

Ver “Downloads->Source code->Versión [a gusto: 8.4.4 al momento de escribir el presente


documento]”, el archivo a descargar tiene un nombre similar a:

postgresql-8.4.0.tar.gz
--- Los siguientes pasos deben hacerse como super-usuario (root) ---

PASO 2:
Copiar o mover, usando el comando cp o mv, el archivo descargado al directorio /usr/local/src

PASO 3:
Ubicarse, utilizando el comando cd (Ej: cd /usr/local/src), en el directorio
/usr/local/src

PASO 4:
Descomprimir el archivo descargado usando el comando tar:

tar zxvf postgresql-8.4.0.tar.gz


Esto generará un directorio postgresql-8.4.0.

PASO 5:
Ubicarse, utilizando el comando cd (Ej: cd /usr/local/src), en el directorio
/usr/local/src/postgresql-8.4.0

PASO 6:
Configurar y crear el Makefile usando el comando:

./configure
Esto mostrará una serie de “checks” como por ejemplo:
...
checking for strip... strip
checking whether it is possible to strip libraries... yes
checking for ar... ar
checking for tar... /bin/tar
checking whether ln -s works... yes
checking for gawk... gawk
...
Eventualmente alguno de los “checks” puede fallar, por ejemplo:
...
checking for gawk... gawk
checking for bison... bison
configure: using bison (GNU Bison) 2.3
checking for flex... no
configure: WARNING:
*** Without Flex you will not be able to build PostgreSQL from CVS or
*** change any of the scanner definition files. You can obtain Flex from
*** a GNU mirror site. (If you are using the official distribution of
*** PostgreSQL then you do not need to worry about this because the Flex
*** output is pre-generated.)
...
En este caso la falla es sólo una advertencia y el proceso de compilación puede continuar (aunque
seguramente se desactivarán algunas características del PostgreSQL resultante de la compilación). En
otros casos, la falla es fatal y el proceso aborta. En estos casos, es necesario leer cuidadosamente el
mensaje generado e instalar los paquetes requeridos para resolver el problema.

Por ejemplo, la advertencia anterior se puede resolver instalando flex, en debian o ubuntu esto se
puede hacer con el siguiente comando:

aptitude -R install flex

Pero dependiendo del mensaje de error puede ser posible que sea necesario instalar otros paquetes y
librerías.

Es necesario asegurarse que al terminar su ejecución el script no generó ningún error, por ejemplo, en
el caso particular del autor el script termina correctamente de la siguiente forma:
...
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s
config.status: linking ./src/backend/port/dynloader/linux.c to
src/backend/port/dynloader.c
config.status: linking ./src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c
config.status: linking ./src/backend/port/sysv_shmem.c to
src/backend/port/pg_shmem.c
config.status: linking ./src/backend/port/dynloader/linux.h to
src/include/dynloader.h
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

PASO 8:
Se compila el PostgreSQL con el siguiente comando:

make
El proceso de compilación puede tardar un rato. Es necesario asegurarse de que cuando termine no
haya generado ningún error. Por ejemplo, en el caso particular del autor el comando make termina de
la siguiente forma:
make[1]: Entering directory `/usr/local/src/postgresql-8.4.0/config'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/postgresql-8.4.0/config'
All of PostgreSQL successfully made. Ready to install.

PASO 9:
Se instala el PostgreSQL con el siguiente comando:

make install
El proceso de instalación puede tardar un rato. Es necesario asegurarse de que cuando termine no haya
generado ningún error. Por ejemplo, en el caso particular del autor el comando make install
termina de la siguiente forma:
/bin/sh ../config/install-sh -c -m 755 ./install-sh
'/usr/local/pgsql/lib/pgxs/config/install-sh'
/bin/sh ../config/install-sh -c -m 755 ./mkinstalldirs
'/usr/local/pgsql/lib/pgxs/config/mkinstalldirs'
make[1]: Leaving directory `/usr/local/src/postgresql-8.4.0/config'
PostgreSQL installation complete.
El PostgreSQL se instala por defecto en el directorio /usr/local/pgsql, de modo que si todo
salió bien este directorio debe existir y contener el resultado de la instalación.

--- Los siguientes pasos se tomaron en su mayoría del archivo INSTALL


ubicado en la raíz de los fuentes de postgres ---

PASO 10:
Crear un usuario postgres:

adduser postgres

PASO 11:
Crear el directorio donde se almacenarán las bases de datos y asignarle los permisos adecuados:

mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data

PASO 12:
Inicializar el repositorio de datos (esto se debe hacer como el usuario postgres)

su – postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
exit
Es necesario asegurarse que el comando initdb ejecutó correctamente y no generó ningún error, por
ejemplo en el caso particular del autor del presente documento el resultado fue:
postgres@cyrano:~$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.


The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".

fixing permissions on existing directory /usr/local/pgsql/data ... ok


creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 28MB
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections


You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
or
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

postgres@cyrano:~$

PASO 13:
Es necesario instalar el script para iniciar PostgreSQL al estilo SysV para esto es necesario copiar el
script de arranque al directorio /etc/init.d. El script de arranque se llama linux y está ubicado en
el directorio contrib/start-scripts/ relativo al directorio raíz de los fuentes de PostgreSQL.

Suponiendo que los fuentes están en /usr/local/src, se puede copiar el script con el siguiente
comando:

cp /usr/local/src/postgresql-8.4.0/contrib/start-scripts/linux
/etc/init.d/postgresql
El comando anterior (que es una sola línea) adicionalmente permite renombrar el script de “linux” a
“postgresql”.

Luego se le dan permisos de ejecución al archivo /etc/init.d/postgresql:

chmod 755 /etc/init.d/postgresql


Y ya se puede iniciar el servidor de bases de datos.

PASO 14:
Para iniciar el servidor de bases de datos, es necesario como super usuario (root) ejecutar el siguiente
comando:

/etc/init.d/postgresql start

PASO 15:
Luego de iniciar el servidor, y como parte del proceso de instalación, se puede crear una base de datos
de pruebas:

/usr/local/pgsql/bin/createdb -U postgres test


Si todo funcionó correctamente, el comando se ejecutará correctamente sin generar ningún error o
mensaje.

PASO 16:
Luego, debe ser posible conectarse a la consola del servidor de bases de datos usando el siguiente
comando:

/usr/local/pgsql/bin/psql -U postgres test


Lo que debe generar como salida, algo como:
[dmi@cyrano ~]$ /usr/local/pgsql/bin/psql -U postgres test
psql (8.4.0)
Type "help" for help.
test=#
PASO 17:
Si se desea detener el servidor de bases de datos esto se puede lograr con el comando:

/etc/init.d/postgresql stop

PASO 18:
Finalmente, si no se desea escribir /usr/local/pgsql/bin/ cada vez que se desea correr algún
ejecutable de PostgreSQL, entonces es posible añadir el directorio /usr/local/pgsql/bin/ al
PATH, tal como se ha hecho en el caso de Java y Eclipse:

Desde un terminal:

export PATH=/usr/local/pgsql/bin:$PATH
O para hacerlo permanente cada vez que se abre un terminal, es necesario añadir las siguientes líneas al
.bashrc o al .bash_profile dependiendo del caso:

export POSTGRESQL_HOME=/usr/local/pgsql
PATH=$POSTGRESQL_HOME/bin:$PATH
Para mayor información ver los comentarios al respecto de los tutoriales de instalación de Java y
Eclipse.

También podría gustarte