Volvi… volvi a tener un escritorio Debian… Debian puro… y tengo que reinstalar el servidor PostgreSQL 8.3 para los sistemas SIU (esta es la versión recomendada para la mayoria de los sistemas).
Claramente no estoy inventando la rueda, solo es lo que dice la documentación oficial de postgres, sumado a la instalación de algunas cosas para Debian… pero bue… vi que mis posts fueron utiles para otros… ademas siempre me sirve de ayudamemoria.
Primero que nada me bajo los fuentes del postgres y lo descomprimo
1 2 3 |
# cd /usr/local/src # wget http://ftp.postgresql.org/pub/source/v8.3.20/postgresql-8.3.20.tar.gz # tar -xzf postgresql-8.3.20.tar.gz |
(Al dia de la fecha la versión 8.3.20 es la ultima versión estable de esta rama)
Una vez ahi, necesito compilarlos… pero tengo que bajarme las herramientas…
1 |
# apt-get install build-essential |
Y tambien es necesario instalar unas librerias/dependencias para compilar el postgres.
1 |
# apt-get install zlibg1-dev libreadline-dev |
Y empezamos el proceso de compilación, configurandolo… pasamos el parametro –prefix con la ruta donde queremos tener el postgres compilado, yo por costumbre lo dejo en /usr/local/postgres-{version}
1 2 |
# cd postgresql-8.3.20 # ./configure --prefix=/usr/local/postgresql-8.3.20 |
Corremos un make y un make install
1 2 |
# make # make install |
Luego de haber compilado, y tener el postgres instalado, debemos realizar alguntas tareas mas antes de arrancar el servicio
Una buena costumbre, es hacer un link simbolico con el nombre de la aplicación sin la versión y despues desde otros lugares llamar a la aplicación con este link simbolico… (ya van a ver ejemplos mas adelante) para que al hacer cambios de versión, el cambio sea menos traumaticos y no se tenga que ir cambiando rutas por todo el servidor.
1 |
# ln -s /usr/local/postgresql-8.3.15 /usr/local/postgresql |
Crear usuario para postgres
1 |
# adduser postgres |
Crear carpeta para la base de datos
1 2 3 |
# mkdir /usr/local/postgresql/data # chown postgres /usr/local/postgresql/data # exit |
Crear una instancia de la base de datos (cluster)
1 2 |
# su - postgres # /usr/local/postgresql/bin/initdb --no-locale -D /usr/local/postgresql/data |
Link a los binarios
1 |
# nano /etc/profile |
y agregar la siguiente linea antes de EXPORT_PATH
1 |
# PATH=/usr/local/postgresql/bin:$PATH |
Configurar el inicio automatico
1 2 3 |
# cp /usr/local/src/postgresql-8.3.20/contrib/start-scripts/linux /etc/init.d/postgresql # update-rc.d postgresql defaults # nano /etc/init.d/postgresql |
Y suplantar las siguientes lineas:
prefix=/usr/local/pgsql por prefix=/usr/local/postgresql
PGDATA=»/usr/local/pgsql/data» por «PGDATA=/usr/local/postgresql/data»
Arrancar el PostgreSQL
1 |
# /etc/init.d/postgresql start |
FIN… Ser feliz!