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.