sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Es posible definir variables globales en postgresql?

Sobre la base de la respuesta de @klin, hay un par de formas de conservar un parámetro de configuración más allá de la sesión actual. Tenga en cuenta que estos requieren privilegios de superusuario.

Para establecer un valor para todas las conexiones a una base de datos en particular:

ALTER DATABASE db SET abc.xyz = 1;

También puede establecer un valor para todo el servidor usando ALTER SYSTEM comando, agregado en 9.4. Parece que solo funciona para parámetros definidos por el usuario si ya han sido SET en su sesión actual. Tenga en cuenta también que esto requiere una recarga de configuración para que surta efecto.

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

Pre-9.4, puede lograr lo mismo agregando el parámetro a postgresql.conf de su servidor expediente. En 9.1 y versiones anteriores, también debe registrar una clase de variable personalizada.