Procedimiento de Instalación

Instalación de PostgreSQL

Para una instalación de nuevas, o una actualización desde una versión previa de PostgreSQL:

  1. Cree la cuenta de superusuario PostgreSQL. Éste es el usuario bajo el que corre el servidor. Para el uso en producción, deberá usted crear una cuenta de usuario diferente, sin privilegios (habitualmente se utiliza (postgres). Si no tiene usted acceso como root, o quiere evitarse este paso, su propia cuenta de usuario es suficiente.

    Ejecutar PostgreSQL como root, bin, o cualquier otra cuenta con permisos de acceso especiales es un riesto de seguridad, y por ello está permitido.

    No necesitará usted compilar e instalar bajo esta cuenta (aunque puede hacerlo). Se le dirá cuando necesite conectarse como el superusuario de la base de datos.

  2. Si no está usted actualizando un sistema existente, salte a paso 4.

    Ahora necesitará usted realizar una copia de seguridad (backup) de su base de datos existente. Si tiene una instalación razonablemente reciente de su base de datos (posterior a la 6.0), conseguirá un vaciado de la misma tecleando:

    $ pg_dumpall > db.out
    Si quiere usted conservar las identificación de los objetos (oids), utilice la opción -o al ejecutar pg_dumpall. Sin embargo, a no ser que tenga usted una razón especial para hacer esto, como podría ser utilizar estos identificadores como claves en las tablas, no lo haga.

    Asegurese de utilizar el comando pg_dumpall de la versión que está usted ejecutando actualemente. Pero no utilice el script de 6.0 o el superusuario PostgreSQL tomará la propiedad de todo. Si es esta la versión que tiene usted, debería usted utilizar el comando pg_dumpall de una versión 6.x.x posterior. El correspondiente a la versión 7.0 no trabajará en bases de datos anteriores. Si está usted actualizando desde una versión previa a Postgres95 v1.09, deberá usted realizar un backup de su base de datos, instalar Postgres95 v1.09, restaurar su base de datos, y realizar el backup de nuevo.

    Atención

    Debe usted asegurarse de que su base de datos no se actualiza durante su backup. Si es necesario, pare el postmaster, edite los permisos del fichero /usr/local/pgsql/data/pg_hba.conf para permitirle a usted sólo su uso, y relance de nuevo postmaster.

  3. Si está usted actualizando un sistema existente, mate ahora el servidor de la base de datos. Teclee:

    $ ps ax | grep postmaster
    Esto debería listar los números de proceso para una serie de procesos, de un modo similar a:
      263  ?  SW   0:00 (postmaster)
      777  p1 S    0:00 grep postmaster
    Teclee la siguiente línea, reemplazando pid con el identificador (id) del proceso postmaster (263 en el caso anterior). (No utilice el id del proceso "grep postmaster".) (N. del T. también puede hacerlo con la línea
    $ ps ax | grep postmaster |grep -v grep
    que le dará la misma salida, pero sin incluir la línea correspondiente al mismo proceso "grep". Fin de la N. del T.)
    $ kill pid

    Sugerencia

    En sistemas que arrancan PostgreSQL en el durante la secuencia de arranque de la máquina, probáblemente se encontrara un fichero startup que cumplirá el mismo cometido. Por ejemplo, en un sistema Linux RedHat, se debería encontrar que

    $ /etc/rc.d/init.d/postgres.init stop
    funcione correctamente para parar la base.

    También deberá trasladar los directorios anteriores a otro sitio. Teclee lo siguiente:

    $ mv /usr/local/pgsql /usr/local/pgsql.old
    con sus propias rutas particulares.

  4. Configure el código fuente para su sistema. Este es el paso en el que puede usted especificar su ruta de instalación actual para el proceso de construcción, y hacer elecciones sobre lo que tenga usted instalado. Cambiese al subdirectorio src y teclee:

    $ ./configure
    seguido de todas las opciones que desee usted dar. Para una primera instalación, debería ir todo bien sin dar ninguna. Para obtener una lista completa de las opciones, teclee:
    ./configure --help
    Algunas de las opciones que se utilizan más a menudo son:

    --prefix=BASEDIR

    Selecciona un directorio base diferente para la instalación de PostgreSQL. La opción de defecto es /usr/local/pgsql.

    --enable-locale

    Si quiere usted utilizar locales.

    --enable-multibyte

    Le permitirá utilizar páginas de caracteres multibyte. Se emplea principalmente para lenguajes como japonés, coreano o chino.

    --with-perl

    Construye la interface Perl. Note por favor que la interface Perl se instalará en el lugar habitual de los módulos Perl (habitualmente bajo /usr/lib/perl), de modo que deberá usted tener acceso root para realizar esta opción correctamente.

    --with-odbc

    Construye el paquete del driver ODBC.

    --with-tcl

    Construye las librerías de interface y los programas que requieren Tcl/Tk, incluyendo libpgtcl, pgtclsh y pgtksh.

  5. Compile el programa. Teclee:

    $ gmake
    El proceso de compilación ocupará entre 10 minutos y una hora, variando en función de la máquina y de las opciones elegidas.

    La última línea que se muestre por el proceso debería ser:

    All of PostgreSQL is successfully made. Ready to install.
    Recuerde que "gmake" se puede llamar "make" en su sistema.

  6. Instale el programa. Teclee:

    $ gmake install

  7. Dígale a su sistema como encontrar las nuevas librerías compartidas. Cómo hacer esto varía de unas plataformas a otras. Lo que tiende a trabajar en todas partes es fijar la variable de entorno LD_LIBRARY_PATH:

    $ LD_LIBRARY_PATH=/usr/local/pgsql/lib
    $ export LD_LIBRARY_PATH
    Quizá quiera usted poner estas dos líneas en un script de arranque de su shell, como ~/.bash_profile.

    En algunos sistemas se prefiere el siguiente método, pero debe usted tener acceso root. Edite el fichero /etc/ld.so.conf y añada una línea

    /usr/local/pgsql/lib
    Y ahora corra el comando /sbin/ldconfig.

    En la duda, diríjase a las páginas de manual de su sistema. Si recibe usted más tarde un mensaje como

    ./psql: error in loading shared libraries
    libpq.so.2.1: cannot open shared object file: No such file or directory
    entonces es que todo lo anterior era necesario. Símplemente realice este paso de nuevo.

  8. Cree la instalación de la base de datos. Para hacer esto, debe usted conectarse como su cuenta de superusuario de PostgreSQL. No trabajará como root.

    $ mkdir /usr/local/pgsql/data
    $ chown postgres /usr/local/pgsql/data
    $ su - postgres
    $ /usr/local/pgsql/initdb -D /usr/local/pgsql/data

    La opción -D especifica la situación donde se almacenarán los datos. Puede usted utilizar cualquier otro path, porque no tiene porqué estar bajo el directorio de la instalación. Sólo asegúrese de que la cuenta del superusuario puede escribir en el directorio (o crearlo) antes de arrancar initdb. (Si estaba usted siguiendo los pasos de la instalación hasta ahora como el superusuario de PostgreSQL, puede que tenga usted que conectarse como root temporalmente para crear el directorio de datos.)

  9. Los pasos previos deberían haberle indicado como arrancar el servidor de la base de datos. Ahagamos ahora:

    $ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
    Esto arrancará el servidor en primer término. Para mandarlo a segundo plano, utilice la opción -S.

  10. Si está usted actualizando desde una instalación anterior, extraiga sus datos con:

    $ /usr/local/pgsql/bin/psql < db.out
    Y haga también una copia de seguridad de su anterior fichero pg_hba.conf, así como de todos los demás ficheros que pueda usted haber creado para la autenticación, tales como ficheros de claves de acceso.

Con todo esto concluímos la instalación propiamente dicha. Para hacer su vida más productiva y agradable, debería mirar los siguientes pasos y sugerencias opcionales.