Publicidad

RSS PostgreSQL

Este tutorial está pensado para todos aquellos que quieren o deben de salir de la "zona de confort" programando en .NET, al tener que conectar con una base de datos no soportada de forma nativa por Entity framework. Así revisaré paso a paso cómo conectarme vía ADO.NET y utilizar las funciones más básicas para poder hacer un CRUD (Create, Read, Update y Delete) de una sola tabla sencilla desde una base de datos PostgreSQL. Pre requisitos Los prerequisitos para realizar este tutorial son: * Tener una base de datos PostgreSQL publicada (sea en local o en remoto). * Que se llame GenbetaDevPostgreSQL * Que tenga una tabla usuarios, con al menos dos campos: id y nombre * Tener instalado Visual Studio Express 2013 * Tener instalado el Putty * Tener instalado el administrador de PostgreSQL PgAdmin * Tener ganas de meternos en este berenjenal. Habilitar el acceso remoto a la bd El primer problema con el que me he encontrado, y puede ser que te encuentres tú también, es el acceso remoto a la base de datos. La mayoría de nosotros no nos ponemos un PostgreSQL en nuestra propia máquina - si es así estás de suerte, te puedes saltar esta parte - y por defecto la instalación no permite el acceso remoto a la base de datos. Así cuando intento conectar, el servidor me responde con que el fichero pg_hba.conf no tiene la entrada necesaria que me permita conectarme de forma remota. Lo cual es un mensaje que lleva a engaño - como si con una sola actuación lo arreglara todo - cuando realmente tengo que hacer dos cosas diferentes. Así lo primero que debo de hacer es establecer una conexión remota vía SSH con una aplicación como Putty. Obviamente necesitaremos un usuario con privilegios suficientes para navegar y configurar el servidor, y la contraseña adecuada. Una vez que estoy dentro, con derechos suficientes (en mi caso de root), tengo que encontrar el fichero pg_hba.conf, que puede estar en varios y diferentes situaciones dentro del servidor. Para hallar su localización utilizo el siguiente comando desde el directorio raíz del servidor: find / –iname “pg_hba.conf” Lo cual me devuelve la dirección física en donde está el fichero. En mi caso en: /etc/postgresql/9.1/main/pg_hba.conf Lo siguiente es editarlo con el “maravilloso” Vim, abriendo el fichero con el siguiente comando: vim /etc/postgresql/9.1/main/pg_hba.conf Aquí debo buscar la línea de comentario que pone "# IPv4 local connections", y añadirle un última entrada host. # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 password Así le indico que permita acceder al servidor desde cualquier IP, a cualquier base de datos, en donde el usuario provea del el login y password correctos. Obviamente esto es un tutorial muy básico y realmente estamos abriendo un agujero de seguridad en el acceso a nuestra base de datos. Lo normal es limitar por IP el acceso, y cambiar el password en texto plano por md5, pero ahora mismo voy a actuar como si estuviera en una realidad alternativa. Ahora tengo que editar otro fichero, que está en el mismo directorio que el anterior, y que es el que configura las IP que escucha PostgresSQL; que por defecto solo es localhost. Y en el cual edito el fichero principal de configuración – una vez más con Vim. vim /etc/postgresql/9.1/main/postgresql.conf Aquí, básicamente tengo que descomentar dos líneas: una que permite escuchar por todas las ip, y la segunda que permita usar ssl. listen_addresses = '*' # what IP address(es) to listen on; ssl = true # (change requires restart) Solo me falta un paso más: reiniciar el servicio de la base de datos, y para ello me cambio al directorio, /etc/init.d En donde lanzo el siguiente comando. sudo service postgresql restart Espero un ratito a que se reinicie y, listo!!, ya puedo conectarme remotamente a mi base de datos… y ahora es cuando empieza lo bueno. En GenbetaDev | Conectar nuestra aplicación .NET a PostgreSQL. Más información | PostgreSQL, Visual Studio Express 2013, Putty, PgAdmin

ToroDB Stampede, toda la potencia de una base de datos NoSQL en un entorno relacional mucho más eficiente

7 Comentarios
ToroDB Stampede, toda la potencia de una base de datos NoSQL en un entorno relacional mucho más eficiente

Poder realizar queries como si de una base de datos MongoDB se tratase pero hasta 100 veces más rápidas y con las ventajas de una base relacional. Esto es lo que propone el reciente lanzamiento de ToroDB Stampede. Simplificando el stack de ToroDB nos encontramos con una base de datos NewSQL, es decir, una base de datos que intenta proporcionar las funcionalidades y características de las bases de datos NoSQL, principalmente escalabilidad, sin renunciar al ACID de toda la vida de una base de datos relacional.

Viendo el ecosistema actual de base de datos, siempre nos ha llamado la atención la centena o miles de ellas que existen y sus diferentes protocolos. Lanzar una nueva base de datos es siempre complejo. Aquí está la primera aclaración sobre ToroDB, en lugar de implementar un nuevo protocolo y un sistema de queries propio, incompatible con el resto de sistema, la gente de ToroDB ha decidido implementar el mismo protocolo de MongoDB.

Leer más »

Conectar nuestra aplicación .NET a PostgreSQL. Habilitar acceso remoto.

5 Comentarios
Conectar nuestra aplicación .NET a PostgreSQL. Habilitar acceso remoto.

Este tutorial está pensado para todos aquellos que quieren o deben de salir de la "zona de confort" programando en .NET, al tener que conectar con una base de datos no soportada de forma nativa por Entity framework.

Así revisaré paso a paso cómo conectarme vía ADO.NET y utilizar las funciones más básicas para poder hacer un CRUD (Create, Read, Update y Delete) de una sola tabla sencilla desde una base de datos PostgreSQL.

Leer más »
Publicidad

Postgres 9.1: sube de nivel con mejoras únicas

5 Comentarios
Postgres 9.1: sube de nivel con mejoras únicas

Ya tenemos disponible la versión 9.1 del motor de bases de datos más potente de código abierto, y que según la nota de prensa "La versión 9.1 ofrece muchas características que los usuarios han estado solicitando por años, retirando obstáculos para el despliegue de aplicaciones nuevas o migradas en PostgreSQL".

Las novedades incluyen características tan avanzadas como la replicación sincrónica para clústeres, permitiendo alta disponibilidad con consistencia a través de múltiples nodos, soportando incluso "2-safe replication", que asegura que las transacciones han sido confirmadas por una réplica del servidor maestro. También han añadido tablas "unlogged" para incrementar el rendimiento y se ha mejorado la internacionalización pudiendo especificar la regionalización de los textos por cada columna, no por tabla como se hacía hasta ahora.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos