PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Compiler PL/Proxy avec PostgresPlus Advance Server 9.1

PostgresPlus Advance Server 9.1 (PPAS) est un produit EnterpriseDB, qui comprend des fonctionnalités d'entreprise en plus de la communauté PostgreSQL. La plupart des modules contrib (pgfoundry) peuvent être connectés à ce produit à l'aide de Stackbuilder. Cependant, actuellement, Pl/Proxy n'est pas fourni ou téléchargeable avec Stack-builder. Alors, voici comment vous pouvez compiler le Pl/Proxy avec PPAS 9.1.

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ÈRES

Vous 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/