RubyLit - Ruby.del.litoral!
Introduccion

En esta sección se detalla como se debe proceder para instalar en un GNU/Linux debian los paquetes necesarios para usar postgreSQL con ruby, se asume que postgreSQL ya está instalado como así también rubygems.

Instalación de ruby para stores procedures, funciones y triggers.

Para Debian hay que instalar un paquete llamado postgresql-8.3-plruby.

Para la instalación se procede como con cualquier otro paquete.
Con un usuario normal se debe ejecutar lo siguiente:

rafael@ajax:~$ sudo apt-get install postgresql-8.3-plruby

con el usuario root se procede de la siguiente forma:

ajax:~# apt-get install postgresql-8.3-plruby

Despues de la intalación del paquete se requiere la ejecución del script: /usr/share/postgresql-8.3-plruby/plruby.sql

para esto hay que ejecutar psql con el usuario normal y ejecutar lo siguiente:

template1=# \i /usr/share/postgresql-8.3-plruby/plruby.sql

Ahora se puede comprobar que el lenguaje está correctamente instalado ejecutando:

template1=# SELECT * FROM pg_language;

La salida debería ser similar a la siguiente:

 lanname  | lanowner | lanispl | lanpltrusted | lanplcallfoid |
lanvalidator | lanacl
----------+----------+---------+--------------+---------------+--------------+--------
 internal |       10 | f       | f            |             0 |         2246 |
 c        |       10 | f       | f            |             0 |         2247 |
 sql      |       10 | f       | t            |             0 |         2248 |
 plruby   |       10 | t       | t            |         16384 |            0 |
(4 filas)

Instalación del modulo postgres para usar en scripts

La forma mas fácil es hacerla con rubygems.

En primer lugar se recomienda comprobar la disponibilidad del módulo:

ajax:~# gem search pg --remote

la salida debería ser similar a la siguiente:


*** REMOTE GEMS ***

backupgem (0.0.11)
capgem (0.1)
dbd-pg (0.3.5)
DepGraph (0.10.0)
pg (0.7.9.2008.10.13)
ruby-gpgme (1.0.1)
ruby-pg (0.7.9.2008.01.28)

La instalación con el usuario root se hace de la siguiente forma:

ajax:~# gem install pg --remote

Si esto falla entonces habrá que verificar si están instalados los paquetes:

  • ruby1.8-dev
  • postgresql-server-dev-8.3

Nota: verique las versiones que tiene instalada en su sistema.

Configuración de la seguridad de postgreSQL para poder usar scripts.

La configuración que se detalla en esta sección solo se recomienda para un entorno de pruebas, no use esto para configurar un entorno de trabajo serio.

  • Configurar postgres para que solicite una contraseña en los scripts.

Se debe modificar el archivo de configuración pg_hba.conf

ajax:/etc/postgresql/8.3/main# vi pg_hba.conf

Encuentre las siguientes líneas (casi al final del archivo) y coloque un numeral (#) para que quede de la siguiente forma

# "local" is for Unix domain socket connections only
#local   all         all                               ident sameuser

duplique la linea comentada deje el archivo de esta manera

# "local" is for Unix domain socket connections only
local   all         all                               crypt

#la siguiente es la linea original
#local   all         all                               ident sameuser

Conectesé a la base de datos y coloque una password al usuario que usa generalmente (yo uso postgres)

postgres@ajax:~$ psql template1
Bienvenido a psql 8.3.4, la terminal interactiva de PostgreSQL.

Digite:  \copyright para ver los términos de distribución
       \h para ayuda de órdenes SQL
       \? para ayuda de órdenes psql
       \g o punto y coma («;») para ejecutar la consulta
       \q para salir

template1=# ALTER USER postgres WITH PASSWORD 'pwdxyz';


how to win your girlfriend back
Starcraft 2 Guides
la salida del comando anterior debería ser:
ALTER ROLE 

Android App Design
Web 2.0 Design