Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Avance rapide | Suivant |
postmaster [-A 0 | 1 ] [-B nombre_de_tampons] [-c nom=valeur] [-d niveau_de_d�bogage] [-D r�pertoire_donn�es] [-F] [-h nom_h�te] [-i] [-k r�pertoire] [-l] [-N nombre_max_connexions] [-o options_suppl�mentaires] [-p port] [-S] [--nom=valeur] [-n | -s]
postmaster est le serveur de bases de donn�es multi-utilisateurs PostgreSQL. Pour qu'une application cliente acc�de � une base de donn�es, elle se connecte (via le r�seau ou localement) � un postmaster en cours d'ex�cution. Ensuite, le postmaster lance un processus serveur s�par� (<<�postgres�>>) pour g�rer la connexion. Le postmaster g�re aussi la communication entre les processus du serveur.
Par d�faut, le postmaster se lance en avant plan et affiche les messages des traces dans le flux standard des erreurs. En pratique, le postmaster devrait �tre lanc� comme processus d'arri�re-plan, par exemple au d�marrage.
Un postmaster g�re toujours les donn�es � partir d'exactement un groupe de bases de donn�es. Ce groupe est une collection de bases de donn�es qui sont stock�es � un emplacement commun du syst�me de fichiers (l'<<�aire des donn�es�>>). Plus d'un processus postmaster peut se lancer sur un syst�me � la fois, s'ils utilisent des aires de donn�es et des ports diff�rents (voir ci-dessous). Une aire de donn�es est cr��e avec initdb.
Quand le postmaster se lance, il a besoin de conna�tre l'emplacement de l'aire des donn�es. L'emplacement doit �tre indiqu� avec l'option -D ou la variable d'environnement PGDATA ; il n'existe pas de valeur par d�faut. Typiquement, -D ou PGDATA pointe directement vers le r�pertoire des donn�es cr�� par initdb. D'autres configurations possibles du fichier sont discut�es dans Section 16.4.1.
postmaster accepte les arguments suivants en ligne de commande. Pour une discussion d�taill�e des options, consultez Section 16.4. Vous pouvez aussi sauvegarder une saisie de la plupart des options en initialisant un fichier de configuration.
Active les v�rifications d'assertion en ex�cution, qui est une aide de d�bogage pour d�tecter les erreurs de programmation. Cette option est seulement disponible si elle �tait activ�e lors de la compilation de PostgreSQL. Dans ce cas, la valeur par d�faut est <<�on�>>.
Initialise le nombre de tampons partag�s utilis�s par les processus serveur. La valeur par d�faut de ce param�tre est choisi par initdb ; r�f�rez-vous � Section 16.4.3.1 pour plus d'informations.
Configure un param�tre d'ex�cution. Les param�tres de configuration support�s par PostgreSQL sont d�crits dans Section 16.4. La plupart des autres options en ligne de commande sont en fait des formes courtes de ces affectations de param�tres. -c peut appara�tre plusieurs fois pour initialiser plusieurs param�tres.
Initialise le niveau de d�bogage. Plus cette valeur est haute, plus la sortie de d�bogage est importante. Les valeurs vont de 1 to 5.
Sp�cifie l'emplacement dans le syst�me de fichiers du r�pertoire de donn�es et des fichiers de configuration. Voir Section 16.4.1 pour plus de d�tails.
D�sactive les appels � fsync
. Cela permet une am�lioration
des performances mais fait prendre le risque d'une corruption de donn�es en cas
d'arr�t brutal du syst�me. Cette option est �quivalente � d�sactiver le
param�tre de configuration fsync. Lire la
documentation d�taill�e avant d'utiliser ceci !
--fsync=true a l'effet contraire de cette option.
Sp�cifie le nom d'h�te ou l'adresse IP sur lequel le postmaster est en attente de connexions TCP/IP provenant des applications clientes. La valeur peut aussi �tre une liste d'adresses s�par�es par des virgules ou * pour indiquer d'�couter sur toutes les interfaces disponibles. Une valeur vide indique de ne pas �couter les adresses IP, auquel cas seuls les sockets de domaine Unix peuvent �tre utilis�s pour se connecter au postmaster. Par d�faut, �coute seulement sur localhost. Sp�cifier cette option est �quivalent � configurer le param�tre listen_addresses.
Autorise la connexion TCP/IP (Internet domain) des clients distants. Sans cette option, seules les connexions locales sont accept�es. Cette option correspond � la configuration tcpip_socket=true dans postgresql.conf.
Cette option est obsol�te car elle ne permet pas d'acc�der � toutes les possibilit�s de listen_addresses. Il est g�n�ralement pr�f�rable de configurer listen_addresses directement.
Sp�cifie le r�pertoire du socket de domaine Unix sur lequel le postmaster �coute les connexions des applications clientes. La valeur par d�faut est normalement /tmp mais peut �tre modifi�e au moment de la construction.
Active les connexions s�curis�es utilisant SSL. PostgreSQL doit avoir �t� compil� avec le support de SSL pour que cette option soit disponible. Pour plus d'informations sur l'utilisation de SSL, r�f�rez-vous � Section 16.8.
Initialise le nombre maximum de connexions clientes que ce postmaster accepte. Par d�faut, cette valeur est 32 mais il peut �tre initialis� aussi haut que ce que votre syst�me supporte. (Notez que -B doit �tre au moins deux fois la valeur de -N. Voir Section 16.5 pour une discussion des besoins de ressources syst�me pour un grand nombre de connexions clientes.) Sp�cifier cette option est �quivalent � configurer le param�tre max_connections.
Les options sp�cifi�es en ligne de commande dans options_suppl�mentaires sont pass�es � tous les processus serveur lanc�s par ce postmaster. Voir postgres pour les possibilit�s. Si la cha�ne d'option contient des espaces, la cha�ne enti�re doit �tre entre guillemets.
Sp�cifie le port TCP/IP ou l'extension du fichier socket de domaine Unix local sur lequel �coute le postmaster pour la connexion des applications clientes. A pour d�faut la valeur de la variable d'environnement PGPORT ou, si PGPORT n'est pas configur�e, alors il a pour valeur par d�faut la valeur �tablie lors de la compilation (normalement 5432). Si vous sp�cifiez un port autre que celui par d�faut, alors toutes les applications clientes doivent sp�cifier le m�me port en utilisant soit les options en ligne de commande soit PGPORT.
Sp�cifie que le processus postmaster doit se lancer en mode silencieux. C'est-�-dire qu'il est dissoci� du terminal (de contr�le) de l'utilisateur, lanc� dans son propre groupe de processus et redirige sa propre sortie standard et sa propre sortie standard des erreurs vers /dev/null.
Utiliser cette option d�sactive tous les messages de traces, ce qui n'est probablement pas ce que vous souhaitez car cela rend le d�bogage tr�s difficile. Voir ci-dessous un meilleur moyen de lancer postmaster en t�che de fond.
--silent-mode=false a l'effet oppos� de cette option.
Initialise un param�tre nomm� en ex�cution ; une forme courte de -c.
Deux options suppl�mentaires en ligne de commande sont disponibles pour les d�bogages de probl�mes causant l'arr�t anormal d'un processus de serveur. La strat�gie ordinaire dans cette situation est de notifier tous les autres processus serveur qu'ils doivent se terminer et r�initialiser ensuite la m�moire partag�e et les s�maphores. Ceci est d� au fait qu'un processus serveur errant peut avoir corrompu quelques �tats partag�s avant de se terminer. Ces options s�lectionnent des comportements alternatifs de postmaster dans cette situation. Aucune de ces options n'a pour but d'�tre utilis�e ordinairement.
Ces options sp�ciales sont :
postmaster r�initialise les structures de donn�es partag�es. Un d�veloppeur syst�me ayant les connaissances n�cessaires peut alors utiliser un d�bogueur pour examiner l'�tat des m�moires partag�es et des s�maphores.
postmaster stoppe tous les autres processus serveur en envoyant le signal SIGSTOP mais ne les termine pas. Ceci permet � un d�veloppeur syst�me de r�cup�rer manuellement les <<�core dump�>> � partir de tous les processus serveur.
Codage des caract�res par d�faut utilis� par les clients. (Les clients peuvent surcharger ceci individuellement.) Cette valeur peut aussi �tre dans le fichier de configuration.
Emplacement par d�faut du r�pertoire de donn�es.
Valeur par d�faut du param�tre d'ex�cution datestyle. (L'utilisation de cette variable d'environnement est obsol�te.)
Port par d�faut (de pr�f�rence, initialis� dans le fichier de configuration)
Fuseau horaire du serveur
Un message d'�chec mentionnant semget ou shmget indique probablement que vous avez besoin de configurer votre noyau pour fournir les m�moires partag�es et s�maphores ad�quats. Pour plus de discussion, voir Section 16.5.
Astuce�: Vous pouvez peut-�tre �viter de reconfigurer votre noyau en d�cr�mentant shared_buffers pour r�duire la consommation de m�moire partag�e de PostgreSQL et/ou en r�duisant max_connections pour r�duire la consommation de s�maphores.
Un message d'�chec sugg�rant qu'un autre postmaster est en cours d'ex�cution doit �tre v�rifi� avec attention, par exemple en utilisant la commande
$ ps ax | grep postmaster
ou
$ ps -ef | grep postmaster
suivant votre syst�me. Si vous �tes certain qu'aucun postmaster en conflit n'est en cours d'ex�cution, vous pouvez supprimer le fichier verrou mentionn� dans le message et tenter de nouveau.
Un message d'�chec indiquant l'incapacit� � lier un port peut indiquer que ce port est d�j� utilis� par un processus autre que le serveur PostgreSQL. Vous pouvez obtenir cette erreur si vous terminez le postmaster et si vous le relancez imm�diatement en utilisant le m�me port ; dans ce cas, vous devez simplement attendre quelques secondes jusqu'� ce que le syst�me d'exploitation ferme le port avant de r�essayer. Enfin, vous pouvez obtenir cette erreur si vous sp�cifiez un num�ro de port que votre syst�me d'exploitation consid�re comme r�serv�. Par exemple, un grand nombre de versions d'Unix consid�rent que les num�ros de port inf�rieurs � 1024 sont <<�de confiance�>> et permettent seulement au superutilisateur Unix d'y acc�der.
Si c'est possible, ne pas utiliser SIGKILL pour tuer le processus postmaster. L'utilisation de SIGKILL emp�che postmaster de lib�rer les ressources du syst�me (c'est-�-dire les m�moires partag�es et les s�maphores) qu'il d�tient avant de terminer. Ceci peut causer des probl�mes de lancement d'un processus nouveau postmaster.
Pour terminer normalement postmaster, les signaux SIGTERM, SIGINT ou SIGQUIT peuvent �tre utilis�s. Le premier attend l'arr�t de tous les clients avant de quitter, le second d�connecte de force tous les clients et le troisi�me quitte imm�diatement sans arr�t propre ce qui donne lieu � une op�ration de r�cup�ration lors du red�marrage. Le signal SIGHUP recharge les fichiers de configuration du serveur.
L'utilitaire pg_ctl peut �tre utilis� pour d�marrer et arr�ter le postmaster en toute s�ret� et confortablement.
Les options -- ne fonctionnent pas sur FreeBSD ou OpenBSD. Utilisez -c � la place. Ceci est un bogue dans les syst�mes d'exploitation affect�s ; une prochaine version de PostgreSQL fournit un contournement si ceci n'est pas corrig�.
Pour lancer postmaster en t�che de fond en utilisant les valeurs par d�faut, saisissez :
$ nohup postmaster >logfile 2>&1 </dev/null &
Pour lancer postmaster sur un port sp�cifique :
$ postmaster -p 1234
Cette commande lance un postmaster communiquant via le port 1234. Pour se connecter � ce postmaster en utilisant psql, il faut lancer par exemple
$ psql -p 1234
ou initialiser la variable d'environnement PGPORT :
$ export PGPORT=1234 $ psql
Les param�tres d'ex�cution nomm�s peuvent �tre configur�s avec un des styles suivants :
$ postmaster -c work_mem=1234 $ postmaster --work-mem=1234
Chaque forme surcharge le param�trage pouvant exister pour work_mem dans postgresql.conf. Notez que les tirets bas dans les noms de param�tre peuvent �tre �crits soit avec un tiret bas soit avec un tiret sur la ligne de commande.
Astuce�: Sauf dans le cas d'exp�rimentations � court terme, il est conseill� d'�diter le param�trage dans postgresql.conf plut�t que d'utiliser les options de ligne de commande pour configurer un param�tre.
Pr�c�dent | Sommaire | Suivant |
postgres | Niveau sup�rieur | Internes |