Come posso impostare e ottenere variabili di database personalizzate?


9

Utilizzando PGAdmin IIIposso fare clic con il pulsante destro del mouse su un database, accedere alla Variablesscheda e inserire una proprietà nome-valore variabile nel database stesso. C'è un modo per personalizzare questi? Ho visto una application_namevariabile, ma mi piacerebbe avere una application_versionvariabile.

Risposte:


8

Devi aggiungere la variabile alla fine del tuo postgresql.conflike

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

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

general.application_version = 'v1.0'

Al riavvio, è possibile aggiungere general.application_versionmanualmente in PgAdmin (non verrà visualizzato nel menu a discesa - almeno non per me). Altrimenti, puoi usarlo come qualsiasi altra variabile PostgreSQL.

Aggiornamento per versione 9.2 e successive

Da PostgreSQL 9.2 in poi, non dobbiamo custom_variable_classespiù impostare . Si può impostare qualunque variabile desiderino - l'unica limitazione sembra essere che deve ancora avere due parti:

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

SET thing.something TO 'bla';
SET

Immagino che sia così per evitare la collisione con i parametri incorporati.


Hmmm. Non c'è modo di farlo da una query SQL nel database?
Jeremy Holovacs,

Devi prima definire le variabili in postgresql.conf. AFAIK questo richiede il riavvio di PostgreSQL, quindi non puoi farlo da SQL.
dezso,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.