|
Instalar PostgreSQL en Mac OS X Snow Leopard.
1. Introducción
PostgreSQL (http://www.postgresql.org/) es una base de datos open-source que puede competir perfectamente con otras bases de datos del mercado. Como ellos mismos dicen es un ORDBMS (object-relational database management system).
Desciende de código original de Berkeley. Soporta gran parte del estándar SQL y ofrece muchas características modernas:
En este tutorial vamos a ver cómo instalar este gestor de bases de datos en un Mac OS X Snow Leopard.
2. Entorno
El tutorial está escrito usando el siguiente entorno:
-
Hardware: Portátil MacBook Pro 17' (2.93 GHz Intel Core 2 Duo, 4GB DDR3 SDRAM, 128GB Solid State Drive).
-
NVIDIA GeForce 9400M + 9600M GT with 512MB
-
Sistema Operativo: Mac OS X Snow Leopard 10.6.3
-
PostgreSQL 8.4
3. Instalación
En la página web de PostgreSQL podemos encontrar varios métodos de instalación para Mac (http://www.postgresql.org/download/macosx):
Tanto Fink como MacPorts son sistemas de paquetes donde se han portado muchas aplicaciones open-source. Pero se requiere un poco más de configuración, por lo que el método elegido en este tutorial es el de One click installer, ya que es el más sencillo, y además ya nos instala algunas de las herramientas visuales para la gestión de la base de datos.
No tenemos más que pinchar el enlace y descargarnos el archivo dmg.
Una vez descargado lo abrimos y ejecutamos el fichero postgresql-8.4.4-1-osx que se encargará de la instalación. Este programita nos dará una advertencia sobre la configuración de los buffers de memoria del kernel. Esto no es imprescindible hacerlo, pero si recomendable para un buen rendimiento de la base de datos. Además es muy sencillo.
Así que antes de continuar con la instalación vamos a modificar el fichero /etc/sysctl.conf. Para ello podemos hacer:
$ sudo vim /etc/sysctl.conf (esto nos abrirá el fichero si existe, o nos lo creará si no existe)
Tenemos que asegurarnos de que tenemos los siguientes valores:
kern.sysv.shmmax=1610612736 kern.sysv.shmall=393216 kern.sysv.shmmin=1 kern.sysv.shmmni=32 kern.sysv.shmseg=8 kern.maxprocperuid=512 kern.maxproc=2048
Podemos encontrar más información sobre estos valores en http://www.postgresql.org/docs/8.4/interactive/kernel-resources.html. Y en el propio dmg que nos hemos descargado también podemos encontrar un fichero README donde nos da explicaciones al respecto.
Una vez modificado el fichero, tenemos que reiniciar el sistema y ya podremos ejecutar de nuevo el fichero postgresql-8.4.4-1-osx, y seguir todo el proceso de instalación.
4. Conectándonos a PostgreSQL
Ahora que ya hemos terminado con la instalación vamos a usar una de las herramientas de gestión que se instalaron para comprobar que nos podemos conectar correctamente.

Abrimos pgAdmin III, y deberíamos ser capaces de navegar por el árbol de la izquierda:

5. Consiguiendo que PostgreSQL no se inicie automáticamente al arrancar el equipo
Normalmente cuando instalamos unas base de datos es porque queremos una base de datos ;) Así que el instalador nos va a dar de alta el servicio para que se inicie automáticamente cada vez que arranque el ordenador.
Pero en determinadas ocasiones, no nos interesa que siempre se inicie el servicio; por ejemplo si sólo hemos hecho la instalación para hacer alguna prueba o para algún tema puntual de desarrollo.
Aquí vamos a ver como podemos hacer para que PostgreSQL no se incie siempre, y seamos nosotros los que controlemos su arranque y parada de forma manual.
PostgreSQL está bajo el control de launchd que es el encargado en el Mac de iniciar los servicios. Lo que vamos a hacer es editar el fichero /Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist, donde encontramos la definición de arranque de PostgreSQL:
$ sudo vim /Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist
Deberíamos ver lo siguiente:
01 |
<?xml version="1.0" encoding="UTF-8"?> |
02 |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" |
09 |
<string>com.edb.launchd.postgresql-8.4</string> |
10 |
<key>ProgramArguments</key> |
12 |
<string>/opt/PostgreSQL/8.4/bin/postmaster</string> |
13 |
<string>-D/opt/PostgreSQL/8.4/data</string> |
18 |
<string>postgres</string> |
21 |
<key>SuccessfulExit</key> |
En este fichero vamos a modificar la etiqueta que viene justo después de <key>Disabled</key>, de forma que cambiaremos (línea 7) <false/> por <true/>. Esta etiqueta al ponerla como true hace que launchd ignore este fichero de configuración durante el arranque. Así conseguimos que no se inicie automáticamente en el arranque del sistema.
5.1. Iniciar y parar PostgreSQL de forma manual
Ahora cuando queramos arrancar de forma manual el PostgreSQL, podemos hacer desde línea de comandos:
$ sudo launchctl load -F /Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist
El parámetro -F indica precisamente que se ha de ignorar el valor del elemento <key>Disabled</key>.
Cuando queramos parar la base de datos podemos hacer:
$ sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist
También es posible arrancar y parar la base de datos de forma visual con dos herramientas que se nos instalaron:

Podemos ver como tenemos un “Start Server” y un “Stop Server”.
6. Conclusiones
El mundo open-source cada vez está más de moda, y desde luego encontramos gran cantidad de soluciones que llevan entre nosotros mucho tiempo y que son muy robustas y estables como el caso de PostgreSQL. Además la gran ventaja de que en la mayoría de los casos estos sistemas están migrados a gran cantidad de plataformas.
Por eso desde Autentia (http://www.autentia.com) siempre os animamos a usar este tipo de soluciones, sobre todo si son de la reputación y largo recorrido como el de PostgreSQL. Y si al final se os queda corto, siempre podéis saltar a una solución más cara ;)
Newer news items:
Older news items:
|