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.