El último sistema operativo de Apple viene con MySQL pero no incluye el poderoso sistema de bases de datos OpenSource PostgreSQL. Y para los sistemas UNIX no proveen un archivo binario de fácil instalación suponiendo que es sencillo para todos los realmente interesados (comentan que sí). Aquí entrego una guía típica de instalación de este tipo de programas que sirve tanto para Mac OS X, Linux, BSD y UNIX en general. Es para todos casi lo mismo.
Primero
- Se recomienda a todos descargar la última versión más conocida por estos días como iPhone SDK desde la página de Apple. O instalar las Developer Tools (que vienen en el disco de instalación) si usas Tiger.
- Descargar la última versión de PostgreSQL desde postgresql.org (los .md5 son las firmas digitales, no los archivos que queremos). De preferencia, en el escritorio.
- Hacer doble click en el archivo recién descargado para que se descomprima y ya tenemos la carpeta para compilar.
Compilar PostgreSQL
- Abrimos el
Terminal
(Aplicaciones
> Utilidades
> Terminal
)
- Escribimos el comando
$ cd
luego espacio, arrastramos y soltamos la carpeta recién descomprimida en la ventana del Terminal para que quede la ruta escrita en la misma línea. Enter (o return). Debería quedar algo como:
$ cd /Users/ooscarr/Desktop/postgresql-8.3.1
Configure
Antes de comenzar a compilar, hay que generar los Makefiles. Esto se hace ejecutando el script incluido configure con parámetros opcionales. El comando y los parámetros que elegí fueron los siguientes:
./configure --enable-thread-safety \
--without-docdir \
--with-perl \
--with-gssapi \
--with-pam \
--with-bonjour \
--with-openssl
No usé --prefix= porque no tengo problemas en que Postgres se instale en /usr/local. Tampoco --exec-prefix= porque no necesito que sea independiente de la plataforma, es para instalarlo aquí mismo.
En general no recomiendo personalizar las carpetas donde Postgres va a instalar sus archivos, para tener una instalación de lo más normal y conocida que permitan pedir ayuda para arreglar problemas sin complicaciones. Leopard, como UNIX, viene con readline instalado, así que no hay muchas complicaciones. El --without-docdir es para que no instale la documentación en inglés, pero lo puedes obviar sin problemas.
El --enable-dtrace suena tentador, pero no es necesario ya que no vamos a analizar el proceso de compilación y, según el archivo README, ahora sólo tiene soporte para Solaris (un muy buen sistema operativo para desarrolladores).
Al presionar return se demora un poco porque está revisando las librerías, el sistema, etc. Debería aparecer una lista de checking y unas config.status. Todo normal.
Make
Estamos listos con el código fuente, ahora falta compilar. Comando:
$ make
Éste se demora más, ocupa más el procesador, pero en unos minutitos debería haber terminado con la frase:
All of PostgreSQL successfully made. Ready to install.
Ya. Está listo para instalar.
Instalación
La instalación es igual de fácil. Lo único que hay que hacer (por ahora) es escribir:
$ sudo make install
Lo típico. Si pide la password, la escribimos y listo. La contraseña no aparecerá en pantalla.
PostgreSQL installation complete.
Eso es todo. PostgreSQL está instalado en /usr/local/pgsql/
pgAdmin III
Antes de seguir, sería bueno instalar la última versión del software pgAdmin III cuya instalación es tan fácil como la mayoría de las instalaciones de Mac OS X: arrastrar un archivo a la carpeta de Aplicaciones.
Crear la base de datos
Al igual que en Windows, se estila crear un usuario dedicado para que PostgreSQL administre los datos. Más bien es un requisito. En mi caso voy a guardar los datos en la carpeta /usr/local/pgsql/data como viene por defecto, pero esto cambia según la necesidad y configuración personal de cada usuario. Para crear la carpeta ahí, utilizo el famoso comando:
$ mkdir /usr/local/pgsql/data
Después hay que crear el usuario. Y como no me molesta tener un usuario más en la pantalla de inicio de sesión (si tienes el inicio de sesión automático, ni lo vas a ver), lo creo normalmente desde Preferencias del Sistema
> Cuentas
> +

Bueno, ahora que existe el usuario postgres
, hacemos que la carpeta /usr/local/pgsql/data pertenezcan a este nuevo usuario.
$ sudo chown postgres /usr/local/pgsql/data
Para inicializar la base de datos, debemos entrar a la cuenta de postgres con
$ su -l postgres
Y la inicializamos por primera vez con el script:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Al finalizar, aparecerán dos líneas muy importantes, ya que estos comandos se usarán para iniciar el servidor de postgresql para que funcione. En mi caso iniciaré el servidor de PostgreSQL con:
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
Y lo terminaré con:
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile stop
Cabe recordar que estos comandos sólo funcionan desde el usuario postgres así que siempre habrá que iniciar su sesión escribiendo antes:
$ su -l postgres
$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
Ahora que está el servidor corriendo, podemos cerrar todas las ventanas.
Crear los usuarios
La forma más fácil de crear los usuarios es abrir el software pgAdmin3, presionar el ENCHUFE para crear un nuevo servidor dentro del programa con los datos conocidos:

Una vez conectado, creamos un nuevo usuario desde Editar
> Nuevo Objeto
> Nueva rol de Login...

Aquí se pueden usar nuestros propios datos que se usarán para conectarnos desde los códigos que podamos estar escribiendo.

Ya podemos crear una nueva base de datos

Para el nuevo usuario recién creado

Recomiendo utilizar la codificación de caracteres UTF-8 como estándar si vamos a usar caracteres que no están en el idioma inglés, como la é con tilde.
Si nos desconectamos (con el mismo ENCHUFE), por seguridad deberíamos ir a Propiedades

... Y cambiar el nombre de la base de datos (BD de Mantenimiento
) y el usuario dueño de esa base datos que recién configuramos.

Cuando nos volvamos a conectar, nos va a volver a pedir la contraseña del usuario nuevo.

Y una vez conectados a la base de datos local, deberíamos tener un PostgreSQL completo funcionando en nuestro computador.

[ACTUALIZACIÓN] Para que la instalación quede completa, faltó mencionar cómo agregar el lenguaje PL/pgSQL a PostgreSQL.
Palabras finales
Aprendimos a instalar PostgreSQL de manera sencilla en la máquina local desde el código fuente. Ahora sólo me falta aprender a hacer que se inicie automáticamente cada vez que se enciende el computador o crear un alias que inicie la base de datos con un simple doble click y sin escribir los complicados comandos:
su -l postgres
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
También es conveniente agregar el directorio /usr/local/pgsql/bin/ al PATH
Referencias
Artículos relacionados
Etiquetas: mac, postgresql, tutorial, unix
5.5.08.
10 comentarios