Accediendo a SQLITE desde PostgreSQL

Como bien he comentado en otros blogs, de los temas que más me fascinan de PostgreSQL es la posibilidad de extensión que posee y en este caso mostraremos como utilizar una extensión de los FDW, específicamente de como acceder a una base de datos SQLITE desde PostgreSQL.

Hace unos días encontré la extensión sqlite_fdw y me decidí a probarla, la cual me resulto fantástica.

Comencemos:

La prueba se realizó con PG 10 en ubuntu 16.04

Una vez descargada debemos instalar algunas dependencias necesarias de sqlite, en este caso:

 
apt-get install libsqlite3-dev 

Luego se compila y se instala:

 
make USE_PGXS=1
make install USE_PGXS=1

Entonces comienza la utilización de la extensión dentro de la base de datos, creando la misma, creando el servidor  y por el último la tabla foránea, en la siguiente demostración se coloca como acceder vía SELECT, además como insertar(INSERT) y modificar(UPDATE) datos.


--se crea la extension

lite=# create extension sqlite_fdw ;Estimados,

Quisiéramos poder coordinar un
CREATE EXTENSION

--se crea el servidor FDW con acceso a la base de datos sqlite
lite=# CREATE SERVER sqlite_server FOREIGN DATA WRAPPER sqlite_fdw OPTIONS (database '/tmp/bd.db');
CREATE SERVER

--se crea la tabla foranea
lite=# CREATE FOREIGN TABLE tabla1pg(col1 integer OPTIONS (key 'true'), col2 text) SERVER sqlite_server OPTIONS (table 'tabla1');

-- mi tabla en sqlite se llama tabla1 y tiene los atributos col1 y col2 , donde col1 es la llave primaria
CREATE FOREIGN TABLE

--se hace  un select
lite=# select * from tabla1pg ;
col1 | col2
------+------
1 | uno
2 | dos
(2 filas)

--se hace un update

lite=# update tabla1pg set col2 = upper(col2) where col1=1;
UPDATE 1
lite=# select * from tabla1pg ;
col1 | col2
------+------
1 | UNO
2 | dos
(2 filas)

--se hace  un insert

lite=# insert into tabla1pg values (3,'tres'),(4,'cuatro');
INSERT 0 2
lite=# select * from tabla1pg ;
col1 | col2
------+--------
1 | UNO
2 | dos
3 | tres
4 | cuatro
(4 filas)

lite=#

Como ven es sencillo el acceso a un base de datos SQLITE y en este caso le agradecemos a la posibilidad de extensión de PostgreSQL y al autor de esta extensión

Nos vemos en otra 😉

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s