Comment définir et obtenir des variables de base de données personnalisées?


9

En utilisant PGAdmin IIII, je peux cliquer avec le bouton droit sur une base de données, accéder à l' Variablesonglet et mettre une propriété nom-valeur variable sur la base de données elle-même. Existe-t-il un moyen de les personnaliser? J'ai vu une application_namevariable, mais j'aimerais en avoir une application_version.

Réponses:


8

Vous devez ajouter la variable à la fin de votre postgresql.conflike

#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

custom_variable_classes = 'general'     # list of custom variable class names

general.application_version = 'v1.0'

Au redémarrage, vous pouvez ajouter general.application_versionmanuellement dans PgAdmin (il n'apparaîtra pas dans la liste déroulante - du moins pas pour moi). Sinon, vous pouvez l'utiliser comme n'importe quelle autre variable PostgreSQL.

Mise à jour pour la version 9.2 et plus récente

À partir de PostgreSQL 9.2, nous n'avons plus besoin de définir custom_variable_classes. On peut définir n'importe quelle variable qu'ils veulent - la seule limitation semble être qu'elle doit toujours avoir deux parties:

SET something TO 'bla';
ERROR:  unrecognized configuration parameter "something"

SET thing.something TO 'bla';
SET

Je suppose que c'est ainsi pour éviter la collision avec les paramètres intégrés.


Hmmm. Pas moyen de le faire à partir d'une requête SQL dans la base de données?
Jeremy Holovacs

Vous devez d'abord définir les variables dans postgresql.conf. AFAIK, cela nécessite de redémarrer PostgreSQL, vous ne pouvez donc pas le faire à partir de SQL.
dezso

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.