Il s'agit de la commande postgres qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
postgres - serveur de base de données PostgreSQL
SYNOPSIS
postgres [option...]
DESCRIPTION
postgres est le serveur de base de données PostgreSQL. Pour qu'une application client accède à un
base de données qu'il se connecte (sur un réseau ou localement) à un postgres exemple. le
postgres l'instance démarre alors un processus serveur distinct pour gérer la connexion.
UN postgres l'instance gère toujours les données d'exactement un cluster de bases de données. Une base de données
cluster est une collection de bases de données qui est stockée à un emplacement de système de fichiers commun (le
« zone de données »). Plus d'un postgres instance peut s'exécuter sur un système à la fois, tant que
ils utilisent différentes zones de données et différents ports de communication (voir ci-dessous). Lorsque postgres
démarre, il doit connaître l'emplacement de la zone de données. L'emplacement doit être spécifié par
le -D option ou le PGDONNEES variable d'environnement ; il n'y a pas de défaut. Typiquement, -D or
PGDONNEES pointe directement vers le répertoire de la zone de données créé par base de données d'initialisation(1). Autre possible
les mises en page des fichiers sont abordées dans la Section 18.2, « Emplacements des fichiers », dans la documentation.
Par défaut postgres commence au premier plan et imprime les messages de journal à l'erreur standard
flux. Dans les applications pratiques postgres doit être démarré en tant que processus d'arrière-plan,
peut-être au démarrage.
La postgres La commande peut également être appelée en mode mono-utilisateur. L'utilisation principale de ce mode
est pendant l'amorçage par base de données d'initialisation(1). Parfois, il est utilisé pour le débogage ou en cas de catastrophe
récupération; notez que l'exécution d'un serveur mono-utilisateur n'est pas vraiment adaptée au débogage du
serveur, car aucune communication et aucun verrouillage interprocessus réalistes ne se produiront. Lorsque
invoqué en mode mono-utilisateur depuis le shell, l'utilisateur peut saisir des requêtes et les résultats
sera imprimé à l'écran, mais sous une forme qui est plus utile pour les développeurs que la fin
utilisateurs. En mode mono-utilisateur, l'utilisateur de session sera défini sur l'utilisateur avec l'ID 1, et
des pouvoirs de superutilisateur implicites sont accordés à cet utilisateur. Cet utilisateur n'a pas à
existent, de sorte que le mode mono-utilisateur peut être utilisé pour récupérer manuellement certains types de
dommages accidentels aux catalogues système.
OPTIONS
postgres accepte les arguments de ligne de commande suivants. Pour une discussion détaillée de la
options, consultez le chapitre 18, Configuration du serveur, dans la documentation. Vous pouvez enregistrer
en saisissant la plupart de ces options en configurant un fichier de configuration. Certaines options (sûres) peuvent
également être défini à partir du client de connexion d'une manière dépendante de l'application pour postuler uniquement pour
cette séance. Par exemple, si la variable d'environnement OPTIONS est défini, puis basé sur libpq
les clients passeront cette chaîne au serveur, qui l'interprétera comme postgres
options de ligne de commande.
Général Objectif
-B ntampons
Définit le nombre de tampons partagés à utiliser par les processus serveur. La valeur par défaut
de ce paramètre est choisi automatiquement par initdb. Spécifier cette option est
équivaut à définir le paramètre de configuration shared_buffers.
-c prénom=Plus-value
Définit un paramètre d'exécution nommé. Les paramètres de configuration supportés par PostgreSQL
sont décrits au chapitre 18, Configuration du serveur, dans la documentation. La plupart
d'autres options de ligne de commande sont en fait des formes abrégées d'une telle affectation de paramètres. -c
peut apparaître plusieurs fois pour définir plusieurs paramètres.
-C prénom
Imprime la valeur du paramètre d'exécution nommé et se termine. (Voir le -c option ci-dessus
pour plus de détails.) Cela peut être utilisé sur un serveur en cours d'exécution et renvoie les valeurs de
postgresql.conf, modifié par tous les paramètres fournis dans cette invocation. Ce ne est pas
reflètent les paramètres fournis lors du démarrage du cluster.
Cette option est destinée à d'autres programmes qui interagissent avec une instance de serveur, tels que
pg_ctl(1), pour interroger les valeurs des paramètres de configuration. Les applications destinées aux utilisateurs doivent
utilisez plutôt SPECTACLES(7) ou la vue pg_settings.
-d niveau de débogage
Définit le niveau de débogage. Plus cette valeur est élevée, plus la sortie de débogage est
écrit dans le journal du serveur. Les valeurs vont de 1 à 5. Il est également possible de passer -d 0
pour une session spécifique, ce qui empêchera le niveau de journalisation du serveur du parent postgres
processus d'être propagé à cette session.
-D répertoire de données
Spécifie l'emplacement du système de fichiers des fichiers de configuration de la base de données. Voir section
18.2, « Emplacements des fichiers », dans la documentation pour plus de détails.
-e
Définit le style de date par défaut sur « européen », c'est-à-dire l'ordre DMY des champs de date d'entrée.
Cela entraîne également l'impression du jour avant le mois dans certaines sorties de date
formatage. Voir Section 8.5, « Types de date/heure », dans la documentation pour plus d'informations.
</br>L’Information.
-F
Désactive fsync appelle à une amélioration des performances, au risque de corruption des données dans le
en cas de plantage du système. Spécifier cette option équivaut à désactiver le fsync
paramètre de configuration. Lisez la documentation détaillée avant de l'utiliser !
-h nom d'hôte
Spécifie le nom d'hôte IP ou l'adresse sur laquelle postgres est d'écouter TCP/IP
connexions à partir des applications clientes. La valeur peut également être une liste séparée par des virgules de
adresses, ou * pour spécifier l'écoute sur toutes les interfaces disponibles. Une valeur vide
spécifie de ne pas écouter sur les adresses IP, auquel cas uniquement les sockets du domaine Unix
peut être utilisé pour se connecter au serveur. Par défaut, écoute uniquement sur localhost.
Spécifier cette option équivaut à définir la configuration listen_addresses
paramètre.
-i
Permet aux clients distants de se connecter via des connexions TCP/IP (domaine Internet). Sans
cette option, seules les connexions locales sont acceptées. Cette option équivaut à définir
écouter_adresses à * dans postgresql.conf ou via -h.
Cette option est déconseillée car elle ne permet pas d'accéder à toutes les fonctionnalités de
listen_addresses. Il est généralement préférable de définir écouter_adresses directement.
-k annuaire
Spécifie le répertoire du socket du domaine Unix sur lequel postgres est d'écouter
connexions à partir des applications clientes. La valeur peut également être une liste séparée par des virgules de
répertoires. Une valeur vide spécifie de ne pas écouter sur les sockets du domaine Unix, dans
auquel cas seules les sockets TCP/IP peuvent être utilisées pour se connecter au serveur. La valeur par défaut
est normalement / Tmp, mais cela peut être modifié au moment de la construction. Spécifier cette option est
équivaut à définir le paramètre de configuration unix_socket_directories.
-l
Permet des connexions sécurisées à l'aide de SSL. PostgreSQL doit avoir été compilé avec le support
pour SSL pour que cette option soit disponible. Pour plus d'informations sur l'utilisation de SSL, reportez-vous à
Section 17.9, « Connexions TCP/IP sécurisées avec SSL », dans la documentation.
-N max-connexions
Définit le nombre maximal de connexions client que ce serveur acceptera. le
la valeur par défaut de ce paramètre est choisie automatiquement par initdb. En précisant cela
L'option équivaut à définir le paramètre de configuration max_connections.
-o options-supplémentaires
Les arguments de style ligne de commande spécifiés dans options-supplémentaires sont transmis à tous les serveurs
processus lancés par ce postgres processus.
Espaces à l'intérieur options-supplémentaires sont considérés comme des arguments séparés, à moins qu'ils ne soient échappés avec
une barre oblique inverse (\); écrivez \\ pour représenter une barre oblique inverse littérale. Plusieurs arguments peuvent
également être spécifié via de multiples utilisations de -o.
L'utilisation de cette option est obsolète ; toutes les options de ligne de commande pour les processus serveur peuvent
être spécifié directement sur le postgres ligne de commande.
-p port
Spécifie le port TCP/IP ou l'extension de fichier socket de domaine Unix local sur lequel postgres
est d'écouter les connexions des applications clientes. La valeur par défaut est la
PGPORT variable d'environnement, ou si PGPORT n'est pas défini, puis prend la valeur par défaut
établi lors de la compilation (normalement 5432). Si vous spécifiez un port autre que le
port par défaut, toutes les applications clientes doivent spécifier le même port en utilisant soit
options de ligne de commande ou PGPORT.
-s
Imprimez les informations de temps et d'autres statistiques à la fin de chaque commande. C'est utile
pour l'analyse comparative ou pour une utilisation dans le réglage du nombre de tampons.
-S travail-mem
Spécifie la quantité de mémoire à utiliser par les tris internes et les hachages avant
recourir à des fichiers de disque temporaires. Voir la description du travail_mem paramétrage
dans la Section 18.4.1, « Mémoire », dans la documentation.
-V
--version
Imprimez la version postgres et quittez.
--prénom=Plus-value
Définit un paramètre d'exécution nommé ; une forme plus courte de -c.
--describe-config
Cette option vide les variables de configuration internes du serveur, les descriptions et
les valeurs par défaut sont délimitées par des tabulations COPY format. Il est conçu principalement pour être utilisé par
outils de gestion.
-?
--Aidez-moi
Affichez l'aide sur les arguments de ligne de commande postgres et quittez.
Semi-interne Options
Les options décrites ici sont principalement utilisées à des fins de débogage et, dans certains cas, pour
aider à la récupération des bases de données gravement endommagées. Il ne devrait y avoir aucune raison de les utiliser
dans une configuration de base de données de production. Ils sont répertoriés ici uniquement pour une utilisation par le système PostgreSQL
développeurs. De plus, ces options pourraient changer ou être supprimées dans une future version
sans préavis.
-f { s | je | o | b | t | n | m | h}
Interdit l'utilisation de méthodes d'analyse et de jointure particulières : s et i désactivent séquentiel et
les analyses d'index respectivement, o, b et t désactivent les analyses d'index uniquement, les analyses d'index bitmap et
TID scanne respectivement, tandis que n, m et h désactivent les jointures de boucle imbriquée, de fusion et de hachage
respectivement.
Ni les analyses séquentielles ni les jointures en boucle imbriquée ne peuvent être complètement désactivées ; le -fs et
Les options -fn découragent simplement l'optimiseur d'utiliser ces types de plan s'il en a
autre alternative.
-n
Cette option sert à déboguer les problèmes qui provoquent la mort anormale d'un processus serveur.
La stratégie ordinaire dans cette situation consiste à notifier tous les autres processus du serveur qui
ils doivent terminer puis réinitialiser la mémoire partagée et les sémaphores. C'est
car un processus de serveur errant aurait pu corrompre un état partagé auparavant
se terminant. Cette option spécifie que postgres ne réinitialisera pas les données partagées
structure. Un programmeur système averti peut alors utiliser un débogueur pour examiner
mémoire partagée et état du sémaphore.
-O
Permet de modifier la structure des tables système. Ceci est utilisé par base de données d'initialisation.
-P
Ignorer les index système lors de la lecture des tables système, mais toujours mettre à jour les index lorsque
modifier les tableaux. Ceci est utile lors de la récupération à partir d'index système endommagés.
-t pa[rser] | pl[anne] | exécuteur]
Imprimez des statistiques de synchronisation pour chaque requête relative à chacun des principaux modules du système.
Cette option ne peut pas être utilisée avec le -s option.
-T
Cette option sert à déboguer les problèmes qui provoquent la mort anormale d'un processus serveur.
La stratégie ordinaire dans cette situation consiste à notifier tous les autres processus du serveur qui
ils doivent terminer puis réinitialiser la mémoire partagée et les sémaphores. C'est
car un processus de serveur errant aurait pu corrompre un état partagé auparavant
se terminant. Cette option spécifie que postgres arrêtera tous les autres processus du serveur
en envoyant le signal SIGSTOP, mais ne les fera pas se terminer. Cela permet
programmeurs système pour collecter manuellement les vidages de mémoire de tous les processus du serveur.
-v protocole
Spécifie le numéro de version du protocole frontend/backend à utiliser pour un
séance particulière. Cette option est à usage interne uniquement.
-W secondes
Un délai de ce nombre de secondes se produit lorsqu'un nouveau processus serveur est démarré, après
mène la procédure d'authentification. Il s'agit de donner l'occasion de
attacher au processus serveur avec un débogueur.
Options pour Utilisateur unique Mode
Les options suivantes s'appliquent uniquement au mode mono-utilisateur.
--Célibataire
Sélectionne le mode mono-utilisateur. Ce doit être le premier argument de la ligne de commande.
base de données
Spécifie le nom de la base de données à laquelle accéder. Ce doit être le dernier argument sur
la ligne de commande. S'il est omis, il s'agit par défaut du nom d'utilisateur.
-E
Faites écho à toutes les commandes.
-j
Désactive l'utilisation de la nouvelle ligne comme délimiteur d'instruction.
-r nom de fichier
Envoyer toutes les sorties du journal du serveur à nom de fichier. Cette option n'est honorée que lorsqu'elle est fournie en tant que
option de ligne de commande.
ENVIRONNEMENT
PGCLIENTENCODAGE
Encodage de caractères par défaut utilisé par les clients. (Les clients peuvent outrepasser cette
individuellement.) Cette valeur peut également être définie dans le fichier de configuration.
PGDONNEES
Emplacement du répertoire de données par défaut
PGDATETYLE
Valeur par défaut du paramètre d'exécution DateStyle. (L'utilisation de cet environnement
variable est obsolète.)
PGPORT
Numéro de port par défaut (de préférence défini dans le fichier de configuration)
TZ
Fuseau horaire du serveur
DIAGNOSTIC
Un message d'échec mentionnant semget ou shmget indique probablement que vous devez configurer
votre noyau pour fournir une mémoire partagée et des sémaphores adéquats. Pour plus de discussions voir
Section 17.4, « Gestion des ressources du noyau », dans la documentation. Vous pourriez le faire
reporter la reconfiguration de votre noyau en diminuant shared_buffers pour réduire le
consommation de mémoire de PostgreSQL, et/ou en réduisant max_connections pour réduire le
consommation de sémaphore.
Un message d'échec suggérant qu'un autre serveur est déjà en cours d'exécution doit être vérifié
avec précaution, par exemple en utilisant la commande
$ ps ax | grep postgres
or
$ ps -si | grep postgres
selon votre système. Si vous êtes certain qu'aucun serveur en conflit n'est en cours d'exécution, vous
pouvez supprimer le fichier de verrouillage mentionné dans le message et réessayer.
Un message d'échec indiquant l'impossibilité de se lier à un port peut indiquer que ce port est
déjà utilisé par certains processus non PostgreSQL. Vous pouvez également obtenir cette erreur si vous
mettre fin postgres et redémarrez-le immédiatement en utilisant le même port ; dans ce cas, vous devez
attendez simplement 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, de nombreuses versions d'Unix considèrent les numéros de port sous
1024 d'être « de confiance » et de permettre uniquement au superutilisateur Unix d'y accéder.
NOTES
La commande utilitaire pg_ctl(1) peut être utilisé pour démarrer et arrêter le postgres serveur
en toute sécurité et confortablement.
Si tout est possible, do pas utilisez SIGKILL pour tuer le principal postgres serveur. Cela va
empêcher postgres de libérer les ressources système (par exemple, la mémoire partagée et les sémaphores)
qu'il détient avant de se terminer. Cela peut causer des problèmes pour démarrer une nouvelle postgres
fonctionner.
Pour mettre fin au postgres serveur normalement, les signaux SIGTERM, SIGINT ou SIGQUIT peuvent être
utilisé. Le premier attendra que tous les clients se terminent avant de quitter, le second
déconnectez de force tous les clients, et le troisième quittera immédiatement sans
arrêt, entraînant une exécution de récupération lors du redémarrage.
Le signal SIGHUP rechargera les fichiers de configuration du serveur. Il est également possible d'envoyer
SIGHUP à un processus serveur individuel, mais ce n'est généralement pas raisonnable.
Pour annuler une requête en cours, envoyez le signal SIGINT au processus exécutant cette commande. À
terminer un processus backend proprement, envoyer SIGTERM à ce processus. Voir également
pg_cancel_backend et pg_terminate_backend dans Section 9.26.2, « Signalisation du serveur
Functions », dans la documentation des équivalents appelables SQL de ces deux actions.
La postgres le serveur utilise SIGQUIT pour dire aux processus de serveur subordonnés de se terminer sans
nettoyage normal. Ce signal devrait pas être utilisé par les utilisateurs. Il est également imprudent d'envoyer SIGKILL
à un processus serveur — le principal postgres le processus interprétera cela comme un plantage et
forcer tous les processus frères à quitter dans le cadre de sa procédure standard de récupération après incident.
Utiliser postgres en ligne à l'aide des services onworks.net