postgres

Nom

postgres — Lance un serveur unique Postgres
postgres [ dbname ]
postgres [ -B nBuffers ] [ -C ] [ -D DataDir ] [ -E ] [ -F ]
   [ -O ] [ -Q ] [ -S SortSize ] [ -d [ DebugLevel ] ] [ -e ]
   [ -o ] [ OutputFile ] [ -s ] [ -v protocol ] [ dbname ]
  

Entrées

postgres accepte les arguments en ligne de commande suivants :

dbname

L'argument optionnel dbname spécifie le nom de la base a accéder. dbname est par défaut la valeur de la variable d'environnement USER.

-B nBuffers

Si le serveur tourne sous le postmaster, nBuffers est le nombre de tampons de mémoire partagée que le postmaster a alloué aux processus serveur au démarrage. Si le serveur tourne seul, c'est le nombre de tampons a allouer. Cette valeur est par défaut de 64 tampons, où chaque tampon représente 8 k octet (ou quelconque BLCKSZ placé dans config.h).

-C

ne montre pas le numéro de version du serveur.

-D DataDir

Spécifie le répertoire à utiliser comme racine de l'arborescence des répertoires de la base. SI -D n'est pas indiqué, le nom de répertoire par défaut des données est la valeur de la variable d'environnement PGDATA. Si PGDATA n'est pas placé, le répertoire utilisé est $POSTGRESHOME/data. Si aucune variable d'environnement n'est placée et que cette option de ligne de commande n'est pas spécifiée, le répertoire par défaut indiqué lors de la compilation est utilisé.

-E

Echo all queries.

-F

Désactive un appel fsync() automatique après chaque transaction. Cette option améliore la performance, mais un crash du système d'exploitation tandis qu'une transaction est en cours, peut causer la perte des données les plus récemment entrées. Sans l'appel fsync() les données sont mises dans un tampon par le système d'exploitation et écrites sur le disque quelques temps plus tard.

-O

Outrepasse les restrictions, ainsi les structures des tables système peuvent être modifiées. Ces tables sont celles qui ont un en-tête "pg_" dans le nom de table.

-Q

Spécifie le mode "quiet".

-S SortSize

Spécifie le montant de mémoire a utiliser par les tris et hachages internes avant le re-triage vers les fichiers disque temporaires. La valeur est spécifiée en kilo octet, et est par défaut de 512 kilo octet. Notez que pour une requête complexe, plusieurs tris et hachages peuvent être lancés en parallèle, et chacun sera alloué to use as much as SortSize kilobytes before it starts to put data into temporary files.

-d [ DebugLevel ]

L'argument optionnel DebugLevel détermine le niveau de débugage que les serveurs produiront en sortie. Si DebugLevel est unique, le postmaster tracera toutes les connections du traffic, et rien d'autre. Pour les niveaux deux et plus haut, le débugage est activé dans le processus serveur et le postmaster donne d'avantage d'information, incluant l'environnement serveur et le processus traffic. Notez que si aucun fichier n'est spécifié aux serveurs pour y envoyer les sorties de débugage, alors ces sorties apparaîtront dans the controlling tty of their parent postmaster.

-e

Cette option contrôle comment les dates sont interprétées sur les entrées et sorties de la base. Si l'option -e est fournie, alors les dates passées vers et depuis les processus clients seront supposées être en format "European" (JJ-MM-AAAA), sinon les dates son supposées être au format "American" (MM-JJ-AAAA). Les dates sont acceptées par le serveur dans une grande variété de formats, ce qui provoque parfois des interprétations ambiguës. Voir Data Type pour plus d'information.

-o OutputFile

Envoie toutes les sorties débogage et erreur vers OutputFile. Si le serveur tourne sous le postmaster, les messages d'erreur sont encore envoyés au processus client aussi bien qu'au OutputFile, mais la sortie débugage est envoyée au tty du postmaster (since only one file descriptor can be sent to an actual file).

-s

Imprime l'information et autres statistiques à la fin de chaque requête. C'est pratique pour la mesure des performances ou pour use in tuning the number of buffers.

-v protocol

Spécifie le nombre de protocoles clients/serveurs utilisés pour cette session particulière.

Il existe plusieurs autres options qui peuvent être spécifiées, utilisées principalement pour des buts de débogage. Elles sont citées ici seulement pour l'usage des développeurs du système Postgres. L'utilisation de ces options est fortement déconseillée. De plus, certaines de ces options peuvent disparître ou changer au cours du temps.

Ces options spéciales sont :

-A n|r|b|Q\fIn\fP|X\fIn\fP

Cette option génère un volume de sorties considérable.

-L

Désactive le système de verrouillage.

-N

Désactive l'utilisation d'un retour à la ligne comme délimiteur de requête.

-f [ s | i | m | n | h ]

Interdit l'utilisation de méthodes particulières de scan et de jointures : s et i désactive respectivement les scans index et séquentiels, tandis que n, m, et h désactive nested-loop, merge and hash joins respectively.

Note

Ni sequential scans ni nested-loop joins ne peuvent être désactivés complètement ; les options -fs et -fn découragent simplement l'optimiseur d'utiliser ces plan types si il n'a pas d'autre alternative.

-i

Empêche l'exécution des requêtes, mais montre l'arborescence.

-p dbname

Indique au serveur qu'il a été lancé par un postmaster and make different assumptions about buffer pool management, file descriptors, etc. Switches following -p are restricted to those considered "secure".

-t pa[rser] | pl[anner] | e[xecutor]

Print timing statistics for each query relating to each of the major system modules. Cette option ne doit pas être utilisée avec -s.

Sorties

Parmi le nombre quasi infini de messages d'erreurs que vous pouvez voir lorsque vous exécutez le serveur directement, le plus courant sera probablement :

semget: No space left on device

Si vous voyez ce message vous devrez lancer la commande ipcclean. Une fois fait, essayez de démarrer le postmaster de nouveau. Si ça ne fonctionne toujours pas, vous devrez sans doute configurer votre noyau pour la mémoire partagée et les sémaphores comme décrit dans les notes d'installation. Si vous avez un noyau avec une mémoire partagée particulièrement petite et/ou des semaphore limités, vous pourrez avoir a reconfigurer votre noyau pour accroître sa mémoire partagée ou les paramètres des sémaphores.

Tuyau

Vous pourrez éviter de reconfigurer votre noyau en diminuant -B pour réduire la consommation de mémoire partagée de Postgres.

Description

Le serveur Postgres peut être exécuté directement depuis le shell utilisateur. Ce pourra être fait seulement pendant le débugage par le DBA, et ne sera pas fait pendant que les autres serveurs Postgres sont gérés par un postmaster sur cet ensemble de bases.

Certains des switches expliqués ici peuvent être passés au serveur à travers les "database options" field of a connection request, and thus can be set for a particular backend without going to the trouble of restarting the postmaster. This is particularly handy for debugging-related switches.

L'argument optionnel dbname spécifie le nom de la base a accéder. dbname prend par défaut la valeur de la variable d'environnement USER.

Notes

Useful utilities for dealing with shared memory problems include ipcs(1), ipcrm(1), and ipcclean(1). See also postmaster.