Instalaci�n de PostgreSQL
Para una instalaci�n de nuevas, o una actualizaci�n desde una versi�n previa de PostgreSQL:
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.
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 |
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.
![]() | 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. |
Si est� usted actualizando un sistema existente, mate ahora el servidor de la base de datos. Teclee:
$ ps ax | grep postmaster |
263 ? SW 0:00 (postmaster) 777 p1 S 0:00 grep postmaster |
$ ps ax | grep postmaster |grep -v grep |
$ kill pid |
![]() | 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
|
Tambi�n deber� trasladar los directorios anteriores a otro sitio. Teclee lo siguiente:
$ mv /usr/local/pgsql /usr/local/pgsql.old |
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 |
./configure --help |
Selecciona un directorio base diferente para la instalaci�n de PostgreSQL. La opci�n de defecto es /usr/local/pgsql.
Si quiere usted utilizar locales.
Le permitir� utilizar p�ginas de caracteres multibyte. Se emplea principalmente para lenguajes como japon�s, coreano o chino.
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.
Construye el paquete del driver ODBC.
Construye las librer�as de interface y los programas que requieren Tcl/Tk, incluyendo libpgtcl, pgtclsh y pgtksh.
Compile el programa. Teclee:
$ gmake |
La �ltima l�nea que se muestre por el proceso deber�a ser:
All of PostgreSQL is successfully made. Ready to install. |
Instale el programa. Teclee:
$ gmake install |
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 |
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 |
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 |
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.)
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 |
Si est� usted actualizando desde una instalaci�n anterior, extraiga sus datos con:
$ /usr/local/pgsql/bin/psql < db.out |
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.
La vida ser� m�s conveniente si fija usted algunas variables de entorno. Primero, probablemente quiera usted incluir /usr/local/pgsql/bin (o su equivalente) en su PATH. Para hacer esto, a�ada lo siguiente en su fichero de arranque de la shell, tal como ~/.bash_profile (o /etc/profile, si quiere usted que afecte a todos los usuarios):
PATH=$PATH:/usr/local/pgsql/bin |
A�n m�s, si usted fija la variable PGDATA en el entorno del superusuario de PostgreSQL, podr� usted omitir la opci�n -D para postmaster y initdb.
Prob�blemente quiera usted instalar la documentaci�n man y HTML. Teclee
$ cd /usr/src/pgsql/postgresql-7.0/doc $ gmake install |
MANPATH=$MANPATH:/usr/local/pgsql/man |
La documentaci�n est� tambi�n disponible en formato Postscript. Si tiene usted una impresora Postscript, o tiene su impresora ya preparada para aceptar ficheros Postscript utilizando un filtro de impresi�n, podr� imprimir la Gu�a de Usuario simplemente tecleando
$ cd /usr/local/pgsql/doc $ gunzip -c user.ps.tz | lpr |
$ alias gshp='gs -sDEVICE=laserjet -r300 -dNOPAUSE' $ export GS_LIB=/usr/share/ghostscript:/usr/share/ghostscript/fonts $ gunzip user.ps.gz $ gshp -sOUTPUTFILE=user.hp user.ps $ gzip user.ps $ lpr -l -s -r manpage.hp |
Prob�blemente deber�a empezar por leer la Gu�a del Administrador si es usted completamente nuevo en PostgreSQL, porque contiene informaci�n sobre como declarar usuarios y la autenticaci�n a la base de datos.
Habitualmente, querr� usted modificar su computadora de modo que arranque el servidor de base de datos siempre que se ponga en marcha. Esto no es necesario; el servidor PostgreSQL se puede ejecutar normalmente desde cuentas no privilegiadas sin intervenci�n de root.
Diferentes sistemas tienen diferentes convenciones para arrancar demonios en el momento de la puesta en marcha, de modo que deber� usted familiarizarse primer con ellos. La mayor�a de los sitemas tienen un fichero /etc/rc.local o /etc/rc.d/rc.local que en la mayor�a de los casos no es un mal lugar para situar este comando. Siempre que lo haga, el postmaster deber� ser ejecutado por el superusuario de PostgreSQL (postgres) y no por root o cualquier otro usuario. Por ello, prob�blemente quiera usted formar las l�neas de comando iniciandolas con su -c '...' postgres.
Podr�a ser interesante mantener un registro de las salidas del servidor. Para arrancar de esta forma el servidor, intente:
nohup su -c 'postmaster -D /usr/local/pgsql/data > server.log 2>&1' postgres & |
Aqu� tenemos algunas otras sugerencias espec�ficas del sistema operativo:
Edite el fichero rc.local en NetBSD o el fichero rc2.d en SPARC Solaris 2.5.1 para que contenga la siguiente l�nea:
su postgres -c "/usr/local/pgsql/bin/postmaster -S -D /usr/local/pgsql/data" |
En FreeBSD RELEASE-2.2 editE /usr/local/etc/rc.d/pgsql.sh para que contenga las siguientes l�neas y h�gale chmod 755 y chown root:bin.
#!/bin/sh [ -x /usr/local/pgsql/bin/postmaster ] && { su -l pgsql -c 'exec /usr/local/pgsql/bin/postmaster -D/usr/local/pgsql/data -S -o -F > /usr/local/pgsql/errlog' & echo -n ' pgsql' } |
En Linux RedHat, a�ada un fichero /etc/rc.d/init.d/postgres.init que se basar� en el ejemplo que se encuentra en contrib/linux/. Y a continuaci�n haga in link simb�lico a este fichero desde /etc/rc.d/rc5.d/S98postgres.init.
Ejecute los test de regresi�n. Los test de regresi�n son un conjunto de pruebas que verifican que PostgreSQL corre en su m�quina en la forma en que los desarrolladores esperan que lo haga. Deber�a hacer esto definitivamente antes de poner una servidor en uso en producci�n. El fichero /usr/src/pgsql/postgresql-7.0/src/test/regress/README contiene instrucciones detalladas para correr e interpretar los tests de regresi�n.