Tout d'abord, si vous n'utilisez pas la version 9.1+, veuillez se référer à cette question .
Comment installer une extension à PostgreSQL 9.1 ?
Tout d'abord, si vous n'utilisez pas la version 9.1+, veuillez se référer à cette question .
Comment installer une extension à PostgreSQL 9.1 ?
Postgrseql 9.1 prévoit une nouvelle commande CREATE EXTENSION
. Vous devez l'utiliser pour installer des modules.
Les modules fournis en 9.1 peuvent être trouvés ici. . Ils comprennent,
adminpack , auth_delay , auto_explain , btree_gin , btree_gist
, chkpass , citext , cube , dblink , dict_int
, dict_xsyn , dummy_seclabel , earthdistance , file_fdw , fuzzystrmatch
, hstore , intagg , intarray , isn , lo
, ltree , oid2name , pageinspect , passwordcheck , pg_archivecleanup
, pgbench , pg_buffercache , pgcrypto , pg_freespacemap , pgrowlocks
, pg_standby , pg_stat_statements , pgstattuple , pg_test_fsync , pg_trgm
, pg_upgrade , seg , sepgsql , spi , sslinfo , tablefunc
, test_parser , tsearch2 , unaccent , uuid-ossp , vacuumlo
, xml2
Si par exemple vous voulez installer earthdistance
il suffit d'utiliser cette commande :
CREATE EXTENSION earthdistance;
Si vous vouliez installer une extension avec un trait d'union dans son nom, comme uuid-ossp
vous devez placer le nom de l'extension entre guillemets :
CREATE EXTENSION "uuid-ossp";
DROP EXTENSION
. Vous pouvez également obtenir une liste d'extensions, et il existe un support de base pour les numéros de version.Bien que la réponse d'Evan Carrol soit correcte, veuillez noter que vous devez installer le paquet postgresql contrib pour que la commande CREATE EXTENSION fonctionne.
Dans Ubuntu 12.04, cela se passe comme suit :
sudo apt-get install postgresql-contrib
Redémarrez le serveur postgresql :
sudo /etc/init.d/postgresql restart
Toutes les extensions disponibles sont en :
/usr/share/postgresql/9.1/extension/
Vous pouvez maintenant exécuter la commande CREATE EXTENSION.
J'essayais d'installer citext, mais google ne trouvait pas cette page, et cette réponse n'est pas apparue. Maintenant, citext est mentionné trois fois sur cette page :-) Allez google, fais ce truc d'indexation.
En plus des extensions qui sont maintenues et fournies par l'équipe de développement de PostgreSQL, il existe des extensions disponibles auprès de tiers. Notamment, il existe un site dédié à cet effet : http://www.pgxn.org/
Pour le postgrersql10
Je l'ai résolu avec
yum install postgresql10-contrib
N'oubliez pas d'activer les extensions dans postgresql.conf
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
puis, bien sûr, redémarrer
systemctl restart postgresql-10.service
toutes les extensions nécessaires que vous pouvez trouver ici
/usr/pgsql-10/share/extension/
Les extensions disponibles pour chaque version de Postgresql varient. Un moyen facile de vérifier quelles sont les extensions disponibles est, comme cela a déjà été mentionné :
SELECT * FROM pg_available_extensions;
Si l'extension que vous recherchez est disponible, vous pouvez l'installer en utilisant :
CREATE EXTENSION 'extensionName';
ou si vous voulez le laisser tomber, utilisez :
DROP EXTENSION 'extensionName';
Avec psql
vous pouvez en outre vérifier si l'extension a été installée avec succès en utilisant \dx
et trouver plus de détails sur l'extension en utilisant \dx+ extensioName
. Il renvoie des informations supplémentaires sur l'extension, comme les paquets qui sont utilisés avec elle.
Si l'extension n'est pas disponible dans votre version de Postgres, vous devez télécharger les fichiers binaires et les bibliothèques nécessaires et les localiser à l'adresse suivante /usr/share/conrib
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.