| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Next >>> | |
postgres [-A 0 | 1 ] [-B nbuffers] [-c name=value] [-d debug-level] [-D datadir] [-e] [-E] [-f s | i | t | n | m | h ] [-F] [-i] [-N] [-o filename] [-O] [-P] [-s | -t pa | pl | ex ] [-S sort-mem] [-W seconds] [--name=value] database
postgres [-A 0 | 1 ] [-B nbuffers] [-c name=value] [-d debug-level] [-D datadir] [-e] [-f s | i | t | n | m | h ] [-F] [-i] [-o filename] [-O] [-p database] [-P] [-s | -t pa | pl | ex ] [-S sort-mem] [-v protocol-version] [-W seconds] [--name=value]
L'exécutable postgres est le processus serveur PostgreSQL actuel qui exécute les requêtes. Il n'est pas appelé directement; à l'inverse, postmaster(1) est un serveur multi-utilisateurs.
La seconde forme indique comment postgres est invoqué par le postmaster(1) (seulement conceptuellement, car les deux postmaster et postgres sont en fait le même programme); il ne peut pas être invoqué directement par ce moyen. La première forme invoque le serveur directement en mode interactif utilisateur unique. Le premier usage de ce mode est lors de l'amorçage par initdb(1). Quelquefois il est utilisé pour le débugage et la récupération après catastrophe.
Quand il est invoqué en mode interactif depuis le shell, l'utilisateur peut entrer les requêtes et les résultats seront affichés à l'écran, mais dans une forme qui est plus utile pour les développeurs que les utilisateurs finaux. Mais notez que le serveur tournant en mode simple-utilisateur n'est pas vraiment approprié pour le débugage du serveur car aucun interprocessus de communication et de verrouillage réaliste n'apparaîtra.
Lors du lancement d'un serveur unique, l'utilisateur de session sera placé comme utilisateur avec l'id 1. Cet utilisateur ne doit pas actuellement exister, un serveur unique peut être utilisé pour recouvrer manuellement certains dommages accidentels dans les catalogues système. Les droits implicites du superutilisateur sont accordés à l'utilisateur avec l'id 1 en mode unique.
Quand postgres est démarré par un postmaster(1) il hérite alors de toutes les options placées par celui-ci. De plus, les options spécifiques à postgres peuvent être passées depuis le postmaster avec le commutateur -o.
Vous pouvez éviter de taper ces options en mettant en place un fichier de configuration. Voir le Guide de l'administrateur pour les détails. Certaines options (sûres) peuvent aussi être placées depuis le client connecté avec une application dépendant du chemin. Par exemple, si la variable d'environnement PGOPTIONS est placée, alors les clients basés sur la libpq passeront cette chaîne au serveur, qui l'interprétera comme options de ligne de commande de postgres.
les options -A, -B, -c, -d, -D, -F, et --name ont les mêmes comportements que pour le postmaster(1).
Place le style date par défaut à "European", qui indique que la règle du "jour avant le mois" (d'avantage que le mois avant le jour) est utilisée pour interpréter les entrées date ambiguës, et que le jour est affiché avant le mois dans certains formats de sorties date. Voir le Guide de l'utilisateur PostgreSQL pour plus d'information.
Envoie toutes les sorties de débugage et d'erreur vers filename. Si le serveur tourne sous le postmaster, cette option est ignorée, et le stderr hérité du postmaster est utilisé.
Ignore les indexes système pendant le scanning/mise à jour des tuples système. La commande REINDEX pour les tables/indexes système nécessite cette option pour être utilisée.
Affiche l'information sur l'heure et autres statistiques à la fin de chaque requête. C'est pratique pour les tests.
Spécifie le montant de mémoire à utiliser pour les tris internes et les hachages avant de retrier vers les fichiers disque temporaires. La valeur est spécifiée en kilo-octet, et par défaut de 512 kilo-octet. Notez que pour une requête complexe, plusieurs tris et/ou hachages peuvent tourner en parallèle, et chacun d'eux pourra utiliser autant de kilo-octet de sort-mem qu'avant de démarrer pour placer les données dans des fichiers temporaires.
Spécifie le nom de la base à laquelle accéder. S'il est omis c'est par défaut le nom de l'utilisateur.
Echo toutes les requêtes.
Désactive l'utilisation du caractère de retour à la ligne comme délimiteur de requête.
Il existe plusieurs autres options qui peuvent être spécifiées, utilisées principalement pour le débugage. Elles sont indiquées ici simplement pour leur usage par les développeurs du système PostgreSQL. Utiliser une des ces options est hautement déconseillé. De plus, certaines de ces options disparaissent ou changent dans les versions futures sans avertissement.
Interdit l'usage de m"thodes de scan et de jointure particulières : s et i désactivent les scans séquentiels et d'indexes respectivement, tandis que n, m, et h désactivent le bouclage imbriqué, la fusion et les jointures de hachage respectivement.
![]() | Ni les scans séquentiels ni les jointures de bouclage imbriqué peuvent être désactivées complètement; les options -fs et -fn décourage simplement l'optimisuer d'utiliser ces types de plans s'il a une autre alternative. |
Empêche l'exécution de la requête, mais indique l'arborescence du plan.
Permet à la structure du système de tables d'être modifiée. Utilisé par initdb.
Indique que ce serveur a été démarré par un postmaster et prend différentes formes concernant la gestion des tampons, descripteurs de fichiers, etc.
Affiche les statistiques de temps pour chaque requête en relation avec chacun des modules du système. Cette option ne peut pas être utilisée avec l'option -s.
Spécifie le numéro de version du protocol client/serveur utilisé pour cette session.
Dés que cette version est rencontrée, le processus se met en sommeil pour le montant de secondes spécifié. Ce qui donne aux développeurs le temps d'attacher un débugueur au processus serveur.
Démarre un serveur unique avec une commande du style
postgres -D $PGDATA other-options my_database |
Normalement, le serveur unique traite les retours à la ligne comme une terminaison de commande; il ne comprend pas les points-virgule comme dans psql. Pour continuer une commande sur plusieurs lignes, vous devez taper un backslash (\) juste avant chaque saut de ligne sauf la dernière.
Mais si vous utilisez le commutateur -N, alors le saut de ligne ne terminera pas la commande. Le serveur lira la sortie standard jusqu'à la marque (EOF) de fin de fichier, ensuite exécute l'entrée comme une requête chaîne unique. Le backslash-saut de ligne n'est pas traité spécialement dans ce cas.
Pour quitter la session, tapez EOF (Control+D, habituellement). Si vous avez utilisé -N, deux EOF consécutifs sont nécessaires pour quitter.
Notez que le serveur unique ne fournit pas de fonctionnalités d'édition de ligne sophistiquées (pas d'historique de commande, par exemple).
| <<< Previous | Home | Next >>> |
| pg_passwd | Up | postmaster |