IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Synopsis

SET [ SESSION | LOCAL ] paramètre_configuration { TO | = } { valeur | 'valeur' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { fuseau-horaire | LOCAL | DEFAULT }

Description

La commande SET permet de modifier les paramètres d'exécution. Un grand nombre de paramètres d'exécution, listés dans Chapitre 17, Configuration du serveur, peuvent être modifiés à la volée avec la commande SET . SET ne modifie que les paramètres utilisés par la session courante.

Certains paramètres ne peuvent être modifiés que par le superutilisateur, d'autres ne peuvent plus être changés après le démarrage du serveur ou de la session.

Si SET ou SET SESSION sont utilisés dans une transaction abandonnée par la suite, les effets de la commande SET disparaissent dès l'annulation de la transaction. Ce comportement a été modifé par rapport aux versions antérieures à la 7.3, pour lesquelles les effets de la commande SET n'étaient pas annulés dans ce cas. Lorsque la transaction englobant la commande est validée, les effets de la commande persistent jusqu'à la fin de la session, à moins qu'ils ne soient annulés par une autre commande SET .

Les effets de SET LOCAL ne durent que jusqu'à la fin de la transaction en cours, qu'elle soit validée ou non. Dans le cas particulier d'une commande SET suivie par SET LOCAL dans une même transaction, la valeur de SET LOCAL est utilisée jusqu'à la fin de la transaction, et celle de SET prend effet ensuite (si la transaction est validée).

Paramètres

En plus des paramètres de configuration documentés dans Chapitre 17, Configuration du serveur, il y en a quelques autres qui ne peuvent être initialisés qu'avec la commande SET ou ont une syntaxe spéciale.

NAMES

SET NAMES valeur est un équivalent de SET client_encoding TO valeur .

SEED

Précise la valeur interne du générateur de nombres aléatoires (la fonction random). Les valeurs autorisées sont des nombres à virgule flottante entre 0 et 1, qui sont ensuite multipliés par 231-1.

Le générateur de nombres aléatoires peut aussi être initialisé en appelant la fonction setseed :

SELECT setseed(valeur);
TIME ZONE

SET TIME ZONE valeur est équivalent à SET timezone TO valeur . La syntaxe SET TIME ZONE permet d'utiliser une syntaxe spéciale pour indiquer le fuseau horaire. Quelques exemples de valeurs valides :

'PST8PDT'

Le fuseau horaire de Berkeley, Californie.

'Europe/Rome'

Le fuseau horaire de l'Italie.

-7

Le fuseau horaire situé 7 heures à l'ouest de l'UTC (équivalent à PDT). Les valeurs positives sont à l'est de l'UTC.

INTERVAL '-08:00' HOUR TO MINUTE

Le fuseau horaire situé 8 heures à l'ouest de l'UTC (équivalent à PST).

LOCAL, DEFAULT

Utilise le fuseau horaire local (celui du système d'exploitation du serveur).

Voir Section 8.5.3, « Fuseaux horaires » pour de plus amples informations sur les fuseaux horaires.