sql >> Base de Datos >  >> RDS >> PostgreSQL

Compilación de PL/Proxy con PostgresPlus Advance Server 9.1

PostgresPlus Advance Server 9.1 (PPAS) es un producto EnterpriseDB, que viene con funciones empresariales adicionales con la comunidad PostgreSQL. La mayoría de los módulos de contribución (pgfoundry) se pueden conectar a este producto mediante Stackbuilder. Sin embargo, actualmente Pl/Proxy no se incluye ni se puede descargar con Stack-builder. Entonces, así es como puede compilar Pl/Proxy con PPAS 9.1.

1. Descarga Pl/Proxy.

wget http://pgfoundry.org/frs/download.php/3274/plproxy-2.4.tar.gz
tar -xvf plproxy-2.4.tar.gz
make PG_CONFIG=/opt/PostgresPlus/9.1AS/bin/pg_config
make intall PG_CONFIG=/opt/PostgresPlus/9.1AS/bin/pg_config

Note: Flex & Bison must be installed before compiling pl/proxy.

2. Después de una configuración exitosa, obtendrá dos archivos, plproxy.so en $PGPATH/lib y plproxy–2.4.0.sql en $PGPATH/share/extention/ location.
Ejecute el archivo .sql que crea call_handler &language.

bash-4.1$ psql -p 5444 -U enterprisedb -d edb -f /opt/PostgresPlus/9.1AS/share/extension/plproxy--2.4.0.sql
CREATE FUNCTION
CREATE LANGUAGE
CREATE FUNCTION
CREATE FOREIGN DATA WRAPPER

Ahora puede ver el idioma instalado.

edb=# dL
List of languages
Name | Owner | Trusted
---------+--------------+---------
edbspl | enterprisedb | t
plpgsql | enterprisedb | t
plproxy | enterprisedb | f
(3 rows)

3. Probemos el código de muestra con pl/proxy.

create table users(username text,blog text);
insert into users values('Raghav','raghavt.blogspot.com');

CREATE or replace FUNCTION get_user_blog(i_username text)
RETURNS SETOF text AS $$
CONNECT 'dbname=edb';
SELECT blog FROM users WHERE username = $1;
$$ LANGUAGE plproxy;

edb=# select * from get_user_blog('Raghav');
get_user_blog
----------------------------------
raghavt.blogspot.com
(1 rows)

Todo listo para probar con pl/proxy en PPAS 9.1. Si desea saber cómo configurar pl/proxy, siga los enlaces a continuación.
http://www.depesz.com/2011/12/02/the-secret-ingredient-in-the-webscale-sauce/
http://kaiv.wordpress.com/2007/07/27/postgresql-cluster-partitioning-with-plproxy-part-i/