viernes, 9 de enero de 2015

Enviar correos usando SMTP con una cuenta de Gmail

Si queremos hacer uso de una cuenta de Google para enviar correos usando SMTP (ej: Al enviar correos automatizados en una aplicación web), hay algunos pasos que debemos seguir:

  1. Dar los valores de configuración del servidor de Google en nuestra aplicación: Estos valores son:
    • Servidor SMTP (host): smtp.gmail.com
    • Puerto: 465
    • Usuario: Tu usuario de gmail (ej: miusuario@gmail.com)
    • Contraseña: Tu contraseña
    Es probable que incluso con estos datos no podamos enviar correos y obtengamos un error como:
    Connection to smtp.gmail.com:465 Timed Out
    Este error se debe a que no se reconoce correctamente el tipo de encriptación.

viernes, 7 de diciembre de 2012

Consideraciones al renombrar una tabla en PostgreSQL

Renombrar una tabla es algo sencillo, simplemente hacemos uso del comando ALTER TABLE:

ALTER TABLE nombre_actual RENAME TO nuevo_nombre;

Sin embargo, este comando sólo renombra la tabla mientras los nombres de sus índices, secuencias, llaves foráneas y otros constraints permanecen iguales. Esto podría no ser un problema, pero si estos nombres son parte del diseño de la BD y queremos cambiarlos, deberemos renombrar los índices y secuencias uno por uno:

miércoles, 5 de diciembre de 2012

Evitar errores en búsquedas sobre campos de texto con mayúsculas y minúsculas en PostgreSQL

Si los campos de texto se almacenan con mezclas de mayúsculas y minúsculas, las búsquedas se ven afectadas y podrían no entregar los resultados que esperamos. Para ilustrarlo supongamos que tenemos una tabla llamada 'persona' con un campo 'nombre', en el que almacenaremos la información introducida por un usuario mediante un formulario y que no procesaremos dicho campo, por lo que el usuario podrá ingresar el texto usando mayúsculas y minúsculas. Luego de varios ingresos tendremos los siguientes datos:

viernes, 5 de octubre de 2012

Error al cargar backup de PostgreSQL 9.1 a 8.4 con funciones que usen PL/pgsql

Al querer cargar un archivo de backup desde una versión más reciente a una anterior siempre surgen problemas. Este es uno de ellos si cargamos un archivo de backup hecho con pg_dump desde la versión 9.1 a una versión anterior y tenemos funciones (tal vez triggers) programados con PL/pgsql. A mí me sucede porque mi máquina de trabajo tiene un Fedora 17 y mi servidor tiene Debian 6. Al intentarlo aparecerá el siguiente error:

ERROR: error de sintaxis en o cerca de «EXTENSION»
LÍNEA 1: CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalo...

Y no creará las funciones que dependan de este lenguaje.