PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

È possibile definire variabili globali in postgresql

Basandosi sulla risposta di @klin, ci sono un paio di modi per mantenere un parametro di configurazione oltre la sessione corrente. Tieni presente che questi richiedono privilegi di superutente.

Per impostare un valore per tutte le connessioni a un determinato database:

ALTER DATABASE db SET abc.xyz = 1;

Puoi anche impostare un valore a livello di server usando ALTER SYSTEM comando, aggiunto in 9.4. Sembra funzionare solo per i parametri definiti dall'utente se sono già stati SET nella tua sessione corrente. Tieni inoltre presente che ciò richiede un ricaricamento della configurazione per avere effetto.

SET abc.xyz = 1;
ALTER SYSTEM SET abc.xyz = 1;
SELECT pg_reload_conf();

Prima della 9.4, puoi ottenere la stessa cosa aggiungendo il parametro al postgresql.conf del tuo server file. In 9.1 e precedenti, devi anche registrare una classe variabile personalizzata.