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

Synopsis

pg_ctl start [-w] [-s] [-D répertoire_données ] [-l nomfichier ] [-o options ] [-p chemin ]

pg_ctl stop [-W] [-s] [-D répertoire_données ] [-m [s[mart]] | [f[ast]] | [i[mmediate]] ]

pg_ctl restart [-w] [-s] [-D répertoire_données ] [-m [s[mart]] | [f[ast]] | [i[mmediate]] ] [-o options ]

pg_ctl reload [-s] [-D répertoire_données ]

pg_ctl status [-D répertoire_données ]

pg_ctl kill [ nom_signal ] [ id_processus ]

pg_ctl register [-N nom_service ] [-U nom_utilisateur ] [-P mot_de_passe ] [-D répertoire_données ] [-w] [-o options ]

pg_ctl unregister [-N nom_service ]

Description

pg_ctl est un outil de démarrage, d'arrêt et de redémarrage du serveur PostgreSQL™ ( postgres (1)). Il permet également d'afficher le statut d'un serveur en cours d'exécution. Bien que le serveur puisse être démarré manuellement, pg_ctl encapsule les tâches comme la redirection des traces ou le détachement du terminal et du groupe de processus. Il fournit également des options intéressantes pour l'arrêt contrôlé.

Dans le mode start, un nouveau serveur est démarré. Le serveur est démarré en tâche de fond et l'entrée standard est attachée à /dev/null. La sortie standard et la sortie d'erreurs standard sont soit envoyées dans un journal de traces (si l'option -l est utilisée) soit redirigées vers la sortie standard de pg_ctl (et non pas la sortie d'erreurs standard). Si aucun journal de traces n'est précisé, la sortie standard de pg_ctl devrait être redirigée vers un fichier ou envoyée via un tube à un autre processus, par exemple un programme de rotation des journaux, comme rotatelogs ; dans le cas contraire postgres écrit sa sortie sur le terminal de contrôle (à partir de l'arrière-plan) et ne se détache pas du groupe de processus du shell.

Dans le mode stop, le serveur en cours d'exécution dans le répertoire spécifié est arrêté. Trois méthodes différentes d'arrêt peuvent être choisies avec l'option -m : le mode « Smart » attend la déconnexion de tous les clients. C'est la valeur par défaut. Le mode « Fast » n'attend pas la déconnexion des clients. Toutes les transactions actives sont annulées et les clients sont contraints de se déconnecter. Le serveur est ensuite arrêté. Le mode « Immediate » tue tous les processus serveurs sans leur laisser la possibilité de faire un arrêt propre. Cela conduit à une tentative de récupération au redémarrage.

Le mode restart exécute en fait un arrêt suivi d'un démarrage. Ceci permet de modifier les options en ligne de commande de postgres .

Le mode reload envoie simplement au processus postgres un signal SIGHUP. Le processus relit alors ses fichiers de configuration (postgresql.conf, pg_hba.conf, etc.). Cela permet de modifier les options des fichiers de configuration sans qu'il soit nécessaire d'effectuer un redémarrage complet pour que les modifications soient prises en compte.

Le mode status vérifie si un serveur est toujours en cours d'exécution sur le répertoire de données spécifié. Si c'est le cas, le PID et les options en ligne de commande utilisées lors de son démarrage sont affichés.

Le mode kill permet d'envoyer un signal à un processus spécifique. Ceci est particulièrement utile pour Microsoft Windows™, qui ne possède pas de commande kill. --help permet d'afficher la liste des noms de signaux supportés.

Le mode register permet d'enregistrer un service système sur Microsoft Windows™.

Le mode unregister permet, sur Microsoft Windows™, d'annuler un service système précédemment enregistré avec la commande register.

Options

-D répertoire_données

Indique l'emplacement des fichiers de la base de données sur le système de fichiers. Si cette option est omise, la variable d'environnement PGDATA est utilisée.

-l nomfichier

Ajoute la sortie des traces du serveur dans nomfichier . Si le fichier n'existe pas, il est créé. L'umask est configuré à 077, donc l'accès au journal des traces est, par défaut, interdit aux autres utilisateurs.

-m mode

Précise le mode d'arrêt. mode est smart, fast ou immediate, ou encore la première lettre d'un de ceux-là.

-o options

Indique les options à passer directement à la commande postgres .

Les options sont habituellement entourées par des guillemets simples ou doubles pour être sûr qu'elles soient passées groupées.

-p chemin

Indique l'emplacement de l'exécutable postgres. Par défaut, l'exécutable postgres est pris à partir du même répertoire que pg_ctl ou, si cela échoue, à partir du répertoire d'installation codé en dur. Il n'est pas nécessaire d'utiliser cette option sauf cas inhabituel, comme lorsque des erreurs concernant l'impossibilité de trouver l'exécutable postgres apparaissent.

-s

Affichage des seules erreurs, pas de messages d'information.

-w

Attendre la fin du démarrage ou de l'arrêt. S'interrompt au bout de 60 secondes. C'est la valeur par défaut pour les arrêts. Un arrêt réussi est indiqué par la suppression du fichier PID. Pour le démarrage, un psql -l se terminant avec succès indique que tout va bien. pg_ctl tente d'utiliser le bon port pour psql. Si la variable d'environnement PGPORT existe, elle est utilisée. Sinon, un port configuré dans le fichier postgresql.conf est cherché. Si aucun des deux n'est utilisé, le port par défaut avec lequel PostgreSQL™ a été compilé (5432 par défaut) est utilisé. Lorsqu'il attend, pg_ctl renvoie un code de sortie précis fondé sur le succès du démarrage ou de l'arrêt.

-W

Ne pas attendre la fin du démarrage ou de l'arrêt. C'est la valeur par défaut pour les démarrages et redémarrages.