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.