postgres

Nombre

postgres  --  Ejecuta un proceso Postgres de usuario único

Synopsis

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

Entradas

postgres acepta los siguientes argumentos en la línea de comandos:

dbname

El argumento opcional dbname especifica el nombre de la base de datos a acceder. dbname toma por defecto el valor de la variable de entorno USER.

-B nBuffers

Si el motor de datos se está ejecuntando bajo el postmaster, nBuffers es el número de búfers de memoria compartida que el postmaster tiene reservados para los procesos servidores que arranca. Si el motor de datos se ejecuta como un proceso independiente, especifica el número de búfers a reservar. Este valor es por defecto de 64 búfers, de 8k cada uno (o el valor que BLCKSZ tenga asignado en config.h)

-C

No mostrar el número de versión del servidor.

-D DataDir

Especifica el directorio a usar como raíz para el árbol de directorios de las bases de datos. Si -D no se especifica, el nombre del directorio de datos por defecto es el valor de la variable de entorno PGDATA. Si PGDATA no tiene un valor asignado, entonces el directorio usado es $POSTGRESHOME/data. Si ni la variable de entorno ni esta opción de línea de comandos están asignadas, se usa el directorio por defecto indicado durante la compilación.

-E

Muestra todas las consultas.

-F

Desactiva la ejecución automática de fsync() después de cada transacción. Esta opción mejora el rendimiento, pero una caída del sistema durante una transacción en curso puede provocar la pérdida de los últimos datos introducidos. Sin la llamada a fsync() los datos son almacenados temporalmente por el sistema operativo, y escritos en disco más tarde.

-O

Ignorar las restricciones que impiden la modificación de la estructura de las tablas de sistema. Estas tablas son tipicamente las que incluyen «pg_» al principio del nombre.

-Q

Especifica el modo «silencioso».

-S SortSize

Especifica la cantidad de memoria a usar por ordenaciones internas y hashes antes de reordenar en ficheros temporales en disco. El valor se indica en kilobytes, y su valor por defecto es de 512 kilobytes. Nótese que para una consulta compleja, varias ordenaciones y/o hashes deben ejecutarse en paralelo, y cada una puede utilizar hasta SortSize kilobytes antes de empezar a poner datos en ficheros temporales.

-d [ DebugLevel ]

El argumento opcional DebugLevel determina el volumen de información de depuración que el servidor producirá. Si DebugLevel es uno, el postmaster registrará todo el trafico de conexión y nada más. Para valores 2 y mayores, la depuración es activada en el proceso del motor de datos y el postmaster muestra más información, incluyendo su entorno y tráfico de proceso. Nótese que si no se especifica un archivo para almacenar la información de depuración la misma aparecerá en la consola del proceso padre postmaster.

-e

Esta opción controla cómo son interpretadas las fechas en la entrada y salida de la base de datos. Si la opción -e es incluida, las fechas pasadas a y desde los procesos de aplicación asumirán el formato «Europeo» (DD-MM-YYYY), En caso contrario se asume que las fechas están en formato «Americano» (MM-DD-YYYY). Las fechas se aceptan por el motor de datos en una amplia variedad de formatos, y para la entrada de fechas, este parámetro afecta a la interpretación de casos ambiguos. Véase Data Types para más información.

-o OutputFile

Envía los mensajes de error y la información de depuración a OutputFile. Si el motor de datos se ejecuta bajo el postmaster, los mensajes de error se envían también a la aplicación además de a OutputFile, pero la información de depuración se envía a la consola del postmaster (puesto que sólo un descriptor de archivo puede enviarse a un fichero real).

-s

Muestra información de tiempo y otras estadísticas al final de cada consulta. Esto es útil para medidas de rendimiento o para su uso en el ajuste del número de búfers.

-v protocol

Especifica el número del protocolo a emplear entre la aplicación y el motor de datos en esta sesión en particular.

Hay otras varias opciones que pueden especificarse, usadas principalmente con propósitos de depuración. Se listan aquí únicamente para su uso por desarrolladores de Postgres. Se desaconseja claramente el uso de cualquiera de estas opciones. Además, cualquiera de estas opciones puede desaparecer o cambiar en cualquier momento.

Estas opciones para casos especiales son:

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

Esta opción genera un tremendo volumen de información.

-L

Desactiva el sistema de bloqueos.

-N

Desactiva el uso del carácter de nueva línea como un delimitador de consultas.

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

Prohibe el uso de métodos particulares de escaneo y reuniones: s y i desactivan scaneos secuenciales y de índices, respectivamente, mientras n, m, y h lo hacen con reuniones de bucles enlazados, merge y hash.

Nota: Ni los scaneos secuenciales ni las uniones de bucles enlazados pueden ser desactivados completamente; Neither sequential scans nor nested-loop joins can be disabled completely; las opciones -fs y -fn simplemente impiden al optimizador usar estos tipos de planes si hay cualquier otra alternativa.

-i

Previene la ejecución de la consulta. En su lugar muestra el árbol del plan de ejecución.

-p dbname

Indica al motor de datos que ha sido iniciado por un postmaster y hace diferentes suposiciones sobre la gestión de los búfers, descriptores de ficheros, etc. Los parámetros posteriores a -p están restringidos a los considerados «seguros».

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

Muestra estadísticas de tiempo para cada consulta relacionadas con cada uno de los módulos principales del sistema. No puede ser usada con -s.

Salidas

Del infinito número de mensajes de error que pueden verse cuando se ejecuta directamente el motor de datos, probablemente los más comunes son:

semget: No space left on device

Si se muestra este mensaje, debería ejecutarse ipcclean Una vez hecho esto pruébese a iniciar postmaster de nuevo. Si todavía no funciona, probablemente es necesario configurar el núcleo para emplear memoria compartida y semáforos, como se describe en las notas de instalación. Si se cuenta con un núcleo con memoria compartida particularmente pequeña y/o límites al uso de semáforos, será necesario reconfigurarlo para inrementar uno o los otros.

Sugerencia: Es posible posponer la reconfiguración del núcleo reduciendo -B para minimizar el uso de memoria compartida por Postgres.

Descripción

El motor de datos de Postgres puede ser ejecutado directamente desde un shell de usuario. Esto debería hacerse únicamente para tareas de depuración por el DBA, y no mientras otros motores de datos están siendo gestionados por un postmaster en este conjunto de bases de datos.

Algunos de los parámetros descritos aquí pueden pasarse al motor de datos a través del campo «opciones de base de datos» de una petición de conexión, y por lo tanto pueden referirse a un motor particular sin necesidad de reiniciar el postmaster. Esto es particularmente práctico para parámetros relacionados con la depuración.

El argumento opcional dbname especifica el nombre de la base de datos a acceder. dbname toma por defecto el valor de la variable de entorno USER.

Notes

Existen utilidades para resolver problemas de memoria compartida como ipcs(1), ipcrm(1), e ipcclean(1). Ver también postmaster.