Guía simple para instalar PostGreSQL en Ubuntu
Guía simple para instalar PostGreSQL en Ubuntu tutorial
Hoy les traigo un pequeño tutorial paso a paso, de como descargar e instalar el PostgreSQL 8.3.6 en Ubuntu desde código fuente. Es sencillo de hacer y no tarda mucho tiempo. Es cuestión de seguir bien los pasos y no tendrán ningún problema. Es importante recordar que debemos tener instalado el Build-essential, para que funcione la instalación, pero si no lo tienen lo pueden instalar con este comando y como usuario root apt-get install build-essential
Guía simple para instalar PostGreSQL en Ubuntu pasos
1. Lo primero que deben hacer es descargar el paquete de instalación desde la siguiente página http://www.postgresql.org/ftp/source/v8.3.6/
Allí pueden descargar los diferentes archivos, y pueden escoger también su idioma.
2. Una vez hecho esto, Lo que sigue es abrir una terminal y descomprimir el paquete con nombre "postgresql-8.3.6.tar.gz'", lo hacemos con el comando:.
tar xvf postgresql-8.3.6.tar.gz
3. Por consola entramos hasta la carpeta donde quedó descompreso el archivo. Allí podremos ver entre varios archivos el README, en donde hay información de utilidad sobre la instalación y el manejo del PostgreSQL.
4. Después de leerlo procedemos con la instalación. El comando por defecto para instarlo es, estando dentro de la carpeta “postgresql-8.3.6” ./configure
Tecnologia@Tecnologia:~/ Postgresql-8.3.6$ ./configure
Al final podrían salir unos errores, Uno dice que no encuentra la librería readline, y se puede solucionar instalando el paquete libreadline5-dev, para el caso de distribuciones basadas en debian, colocando el siguiente comando en la consola, y entrando como usuario Root:
apt-get install libreadline5-dev
El otro error podría ser el de zlib library y se arregla de igual manera al anterior pero con el comando:
apt-get install zlib1g-dev
Después de haberlas instalado nuevamente ingresamos el comando ./configure estando dentro de la carpeta del PostgreSQL. Con esto y si al final no salen errores, la instalación ya se está dando correctamente.
5. El siguiente paso es ingresar el comando make con el cuál se dejarán los archivos listos para la instalación de los archivos.
Tecnologia@Tecnologia:~/ Postgresql-8.3.6$ make
Este proceso puede durar varios minutos dependiendo de tu máquina, pero por lo general es largo. Al final del proceso debe salir “All of PostgreSQL successfully made. Ready to install. ”
6. Hecho lo anterior procedemos a instalar el Postgresql, con el comando make install, Esto se debe hacer como súper usuario, de la siguiente forma:
Tecnologia@Tecnologia:~/ Postgresql-8.3.6$ sudo make install
Al final aparece lo siguiente "PostgreSQL installation complete".
Guía simple para instalar PostGreSQL en Ubuntu edición
Edición
Al terminar todo este proceso de compilación, nuestro motor relacional de postgres quedará instalado en el directorio
<!-- @page { size: 21cm 29.7cm; margin: 2cm } TD P { margin-bottom: 0cm } P { margin-bottom: 0.21cm } -->
usr/local/pgsql
Sin embargo en este punto, si queremos usar cómodamente postgres, aún nos falta hacerle unos ajustes de configuración. para hacerlos seguiremos estos pasos:
Lo primero que tenemos que hacer es crear un usuario llamado postgres.
Tecnologia postgresql-8.3.6 # adduser postgres Añadiendo usuario 'postgres' ... Agregando nuevo grupo 'postgres' (1001) ... Agregando nuevo usuario 'postgres' (1001) con grupo 'postgres' ... Creando el directorio personal '/home/postgres' ... Copiando archivos desde '/etc/skel' ... Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente Cambiando la información de usuario para postgres Introduzca el nuevo valor, o presione ENTER para el predeterminado Nombre completo []: Base de Datos pgsql Número de habitación []: Teléfono del trabajo []: Teléfono de casa []: Otro []: ¿Es correcta la información? [y/N] y |
Ahora creamos la carpeta donde se guardarán los datos, y le asignamos como propietario el usuario postgres.
Tecnologia postgresql-8.3.6 # mkdir /usr/local/pgsql/data Tecnologia postgresql-8.3.6 # chown postgres /usr/local/pgsql/data/ |
Ahora nos cambiamos al usuarios postgress, en la consola usando el comando su.
su postgres |
Ahora configuramos el motor de la base de datos con los siguientes comandos.
postgres@Tecnologia $ cd /usr/local/pgsql/bin postgres@Tecnologia /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 es_CO.UTF-8. The default database encoding has accordingly been set to UTF8. The default text search configuration will be set to "spanish". fixing permissions on existing directory /usr/local/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers/max_fsm_pages ... 24MB/153600 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: ./postgres -D /usr/local/pgsql/data or ./pg_ctl -D /usr/local/pgsql/data -l logfile start postgres@Tecnologia /usr/local/pgsql/bin $ ./postgres -D /usr/local/pgsql/data postgres@Tecnologia ~ $ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & [1] 26548 postgres@Tecnologia ~ $ cat logfile LOG: database system was shut down at 2009-03-07 23:15:16 COT LOG: autovacuum launcher started LOG: database system is ready to accept connections |
Lo que se hizo acá fue, movernos al directorio donde quedó instalada la base de Datos. Asignar el cluster de la base de datos al directorio /usr/local/pgsql/data, y finalmente iniciar la base de Datos guardando la salida en el archivo logfile. El cual fue leido con cat, para darnos cuenta de que la operación fue exitosa.
Para hacer más fácil el uso de postgress agregaremos al path de linux el directorio /usr/local/pgsql/bin.
Esto lo hacemos agregando las siguientes lineas al final del archivo /etc/profile
export PGSQL=/usr/local/pgsql export PGLIB=$PGSQL/lib export MANPATH=$MANPATH:$PGSQL/man export LD_LIBRARY_PATH=$PGLIB export PATH=$PATH:$PGSQL/bin |
Para actualizar los cambios usamos el comando (solo se actualuzan en la consola donde se ejecuta el comando)
postgres@Tecnologia ~ $ source /etc/profile |
Con esto ya está la base de datos correctamente instalada. Pero si deseas que tu Motor relacional postgres funcione, cada que se inicia el sistema, como lo hace cualquier otro servicio, tendrás que seguir estos pasos:
primero debemos crear un Shell Script el cual tendrá este contenido
#!/bin/sh # # description: startup and shutdown the PostgreSQL # echo "PostgreSQL start/stop" POSTGRESQL_OWNER=postgres POSTGRESQL_HOME=/usr/local/pgsql case "$1" in 'start') # Start the PostgreSQL echo -n "Starting the PostgreSQL Server... " POSTMASTER="$POSTGRESQL_HOME/bin/postmaster -i -D $POSTGRESQL_HOME/data >> $POSTGRESQL_HOME/data/bitacora.btc 2>&1&" su - $POSTGRESQL_OWNER -c "$POSTMASTER" echo ;; 'stop') # Stop the PostgreSQL echo -n "Shutting down PostgreSQL Server... " KILLPOSTMASTER="kill -INT `head -1 $POSTGRESQL_HOME/data/postmaster.pid`" su - $POSTGRESQL_OWNER -c "$KILLPOSTMASTER" echo ;; 'restart') # Restart the PostgreSQL echo -n "Restarting PostgreSQL Server... " $0 stop $0 start echo ;; *) echo "Usage: postgresqld [ start | stop | restart ]" exit 1 esac exit 0
Este script lo debes guardar en el directorio /etc/init.d/ con cualquier nombre aunque te recomienedo ponerle postgresqld, por lo que la ruta completa del archivo sería
/etc/init.d/postgresqld
Para no tener problemas vamos a darle ciertos permisos a este script. con el siguiente comando.
sudo chmod 744 /etc/init.d/postgresqld
Ahora lo que vamos a hacer es indicarle al sistema que nos ejecute este script cada que se inicie el sistema.
esto lo hacemos con el siguiente comando
$ sudo update-rc.d postgresqld defaults
Cuando ejecutemos este comando saldrá algo como esto.
Tecnologia@Tecnologia ~ $ sudo update-rc.d postgresqld defaults
Adding system startup for /etc/init.d/postgresqld ...
/etc/rc0.d/K20postgresqld -> ../init.d/postgresqld
/etc/rc1.d/K20postgresqld -> ../init.d/postgresqld
/etc/rc6.d/K20postgresqld -> ../init.d/postgresqld
/etc/rc2.d/S20postgresqld -> ../init.d/postgresqld
/etc/rc3.d/S20postgresqld -> ../init.d/postgresqld
/etc/rc4.d/S20postgresqld -> ../init.d/postgresqld
/etc/rc5.d/S20postgresqld -> ../init.d/postgresqld
Con esto ya nos queda instalado el PostgreSQL 8.3.6 en nuestra máquina, y podremos empezar con la creación de las bases y demás tareas que tengamos.
para detener e iniciar el servicio manualmente, en caso de necesitarlo, en este punto podran hacerlo con los comandos.
sudo /etc/init.d/postgresqld stop
sudo /etc/init.d/postgresqld start
Espero les sea de mucha ayuda, Cualquier duda que tengan o cualquier sugerencia, solo dejen su comentario.
Mas articulos de importancia podras encontrar accediendo por el siguiente enlace - http://tecnologia.technology
Saludos
-
fenomenal tu post puntuacion 10 me ayudo mucho, yo que recien soy nuevo en ubuntu, gracias
-
Excelente tu post, todo me funciono tal cual.
Gracias por tu ayuda. -
Excelente post se agradece mucho super detallado 10/10
-
Excelente post se agradece mucho super detallado 10/10
-
excelente post siguan asi
me ayudo mucho tengo mucho iniciandome en ubuntu pero no habia tenido tiempo
ahora si a ubuntear todo el dia
gracias por el post
-
excelente post siguan asi
me ayudo mucho tengo mucho iniciandome en ubuntu pero no habia tenido tiempo
ahora si a ubuntear todo el dia
gracias por el post
-
Excelente post, gracias
-
Excelente post, gracias
-
Gracias me fue de mucha ayuda en especial al momento de ejecutar el comando ./CONFIGURE. Ya tengo corriendo mi servidor Postgres sin problemas.
-
te pasaste que buena guia
-
te pasaste que buena guia
-
Muchas gracias por el post... puesto que tengo problemas con la version 9.2 de postgres y genexus... asi que tuve que bajarme a la 8.3 a ver si ahi me funcionan las cosas porque la 9.2 no permite blokear las tablas fuera de las transacciones que es lo correcto pero artech no da ninguna solucion al respecto. PLOP!
saludos y muchas gracias por el post.
-
Muchas gracias por el post... puesto que tengo problemas con la version 9.2 de postgres y genexus... asi que tuve que bajarme a la 8.3 a ver si ahi me funcionan las cosas porque la 9.2 no permite blokear las tablas fuera de las transacciones que es lo correcto pero artech no da ninguna solucion al respecto. PLOP!
saludos y muchas gracias por el post.
Deja una respuesta
fenomenal tu post puntuacion 10 me ayudo mucho, yo que recien soy nuevo en ubuntu, gracias