1. Téléchargez 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
Remarque :Flex &Bison doit être installé avant de compiler pl/proxy.
2. Après une configuration réussie, vous obtenez deux fichiers, plproxy.so dans $PGPATH/lib &plproxy–2.4.0.sql dans $PGPATH/share/extention/location.
Exécutez le fichier .sql qui crée 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
CRÉER LA FONCTION
CRÉER LANGAGE
CRÉER UNE FONCTION
CRÉER UN WRAPPER DE DONNÉES ÉTRANGÈRESVous pouvez maintenant voir la langue installée.
edb=# dL
Liste des langues
Nom | Propriétaire | De confiance
---------+----------------------+---------
edbspl | entreprisedb | t
plpgsql | entreprisedb | t
plproxy | entreprisedb | f
(3 rangées)3. Testons l'exemple de code avec pl/proxy.
créer des utilisateurs de table (texte du nom d'utilisateur, texte du blog) ;
insérer dans les utilisateurs des valeurs ('Raghav','raghavt.blogspot.com');
CREATE ou remplacer FUNCTION get_user_blog( i_username text)
RETURNS SETOF text AS $$
CONNECT 'dbname=edb';
SELECT blog FROM utilisateurs WHERE username =$1;
$$ LANGUAGE plproxy;
edb=# select * from get_user_blog('Raghav');
get_user_blog
------------------------ ----------
raghavt.blogspot.com
(1 lignes)Tout est prêt pour les tests avec pl/proxy sur PPAS 9.1. Si vous voulez savoir comment configurer pl/proxy, suivez les liens ci-dessous.
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/