Este es el comando postgres que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
postgres - servidor de base de datos PostgreSQL
SINOPSIS
Postgres [opción...]
DESCRIPCIÓN
Postgres es el servidor de base de datos PostgreSQL. Para que una aplicación cliente acceda a un
base de datos que se conecta (a través de una red o localmente) a una Postgres ejemplo. La
Postgres La instancia luego inicia un proceso de servidor separado para manejar la conexión.
Un Postgres La instancia siempre administra los datos de exactamente un clúster de base de datos. Una base de datos
El clúster es una colección de bases de datos que se almacena en una ubicación común del sistema de archivos (el
“Área de datos”). Más de uno Postgres La instancia puede ejecutarse en un sistema a la vez, siempre que
utilizan diferentes áreas de datos y diferentes puertos de comunicación (ver más abajo). Cuándo Postgres
comienza necesita saber la ubicación del área de datos. La ubicación debe ser especificada por
los -D opción o el DATOSPG Variable ambiental; no hay ningún defecto. Típicamente, -D or
DATOSPG apunta directamente al directorio del área de datos creado por initdb(1). Otro posible
Los diseños de archivos se tratan en la Sección 18.2, “Ubicaciones de archivos”, en la documentación.
Por defecto Postgres comienza en primer plano e imprime mensajes de registro con el error estándar
Arroyo. En aplicaciones practicas Postgres debe iniciarse como un proceso en segundo plano,
quizás en el momento del arranque.
Los Postgres El comando también se puede llamar en modo de usuario único. El uso principal de este modo
es durante el arranque por initdb(1). A veces se usa para depuración o desastre.
recuperación; tenga en cuenta que ejecutar un servidor de usuario único no es realmente adecuado para depurar el
servidor, ya que no se producirá ningún bloqueo y comunicación entre procesos realistas. Cuándo
invocado en modo de usuario único desde el shell, el usuario puede ingresar consultas y los resultados
se imprimirá en la pantalla, pero en una forma que sea más útil para los desarrolladores que al final
usuarios. En el modo de usuario único, el usuario de sesión se configurará como el usuario con ID 1, y
Se otorgan poderes de superusuario implícitos a este usuario. Este usuario en realidad no tiene que
existen, por lo que el modo de usuario único se puede utilizar para recuperarse manualmente de ciertos tipos de
Daño accidental a los catálogos del sistema.
OPCIONES
Postgres acepta los siguientes argumentos de la línea de comandos. Para una discusión detallada de la
opciones consulte el Capítulo 18, Configuración del servidor, en la documentación. Puedes ahorrar
escribiendo la mayoría de estas opciones configurando un archivo de configuración. Algunas opciones (seguras) pueden
También se puede configurar desde el cliente de conexión de una manera dependiente de la aplicación para solicitar solo
esa sesión. Por ejemplo, si la variable de entorno PGOPCIONES está configurado, luego basado en libpq
los clientes pasarán esa cadena al servidor, que la interpretará como Postgres
opciones de la línea de comandos.
General Propósito
-B amortiguadores
Establece el número de búferes compartidos que utilizarán los procesos del servidor. El valor predeterminado
de este parámetro es elegido automáticamente por initdb. Especificar esta opción es
equivalente a establecer el parámetro de configuración shared_buffers.
-c nombre =propuesta de
Establece un parámetro de tiempo de ejecución con nombre. Los parámetros de configuración admitidos por PostgreSQL
se describen en el Capítulo 18, Configuración del servidor, en la documentación. La mayoría de
otras opciones de la línea de comando son, de hecho, formas cortas de dicha asignación de parámetros. -c
puede aparecer varias veces para establecer varios parámetros.
-C nombre
Imprime el valor del parámetro de tiempo de ejecución con nombre y sale. (Ver el -c opción arriba
para obtener más detalles). Esto se puede utilizar en un servidor en ejecución y devuelve valores de
postgresql.conf, modificado por cualquier parámetro proporcionado en esta invocación. No es asi
reflejan los parámetros proporcionados cuando se inició el clúster.
Esta opción está destinada a otros programas que interactúan con una instancia de servidor, como
pg_ctl(1), para consultar los valores de los parámetros de configuración. Las aplicaciones orientadas al usuario deben
en su lugar usa ESPECTÁCULO(7) o la vista pg_settings.
-d nivel de depuración
Establece el nivel de depuración. Cuanto mayor sea este valor, mayor será la salida de depuración.
escrito en el registro del servidor. Los valores van de 1 a 5. También es posible pasar -d 0
para una sesión específica, lo que evitará que el nivel de registro del servidor del padre Postgres
proceso de propagarse a esta sesión.
-D directorio de datos
Especifica la ubicación del sistema de archivos de los archivos de configuración de la base de datos. Mira la sección
18.2, “Ubicaciones de archivos”, en la documentación para obtener más detalles.
-e
Establece el estilo de fecha predeterminado en "Europeo", es decir, el orden de DMY de los campos de fecha de entrada.
Esto también hace que el día se imprima antes del mes en una salida de fecha determinada.
formatos. Consulte la Sección 8.5, "Tipos de fecha / hora", en la documentación para obtener más
-F
Deshabilita fsync pide un mejor rendimiento, a riesgo de corrupción de datos en el
caso de una caída del sistema. Especificar esta opción equivale a deshabilitar fsync
parámetro de configuración. ¡Lea la documentación detallada antes de usar esto!
-h hostname
Especifica el nombre de host IP o la dirección en la que Postgres es escuchar TCP / IP
conexiones desde aplicaciones cliente. El valor también puede ser una lista separada por comas de
direcciones, o * para especificar la escucha en todas las interfaces disponibles. Un valor vacío
especifica no escuchar en ninguna dirección IP, en cuyo caso solo sockets de dominio Unix
se puede utilizar para conectarse al servidor. Por defecto, escucha solo en localhost.
Especificar esta opción equivale a establecer la configuración listen_addresses
parámetro.
-i
Permite que los clientes remotos se conecten a través de conexiones TCP / IP (dominio de Internet). Sin que
esta opción, solo se aceptan conexiones locales. Esta opción es equivalente a configurar
escucha_direcciones a * en postgresql.conf o vía -h.
Esta opción está obsoleta porque no permite el acceso a la funcionalidad completa de
listen_addresses. Por lo general, es mejor configurar escucha_direcciones .
-k directorio
Especifica el directorio del socket de dominio Unix en el que Postgres es escuchar
conexiones desde aplicaciones cliente. El valor también puede ser una lista separada por comas de
directorios. Un valor vacío especifica que no se escucha en ningún socket de dominio Unix, en
cuyo caso solo se pueden utilizar sockets TCP / IP para conectarse al servidor. El valor predeterminado
es normalmente / Tmp, pero eso se puede cambiar en el momento de la compilación. Especificar esta opción es
equivalente a establecer el parámetro de configuración unix_socket_directories.
-l
Habilita conexiones seguras mediante SSL. PostgreSQL debe haberse compilado con soporte
para SSL para que esta opción esté disponible. Para obtener más información sobre el uso de SSL, consulte
Sección 17.9, “Conexiones TCP / IP seguras con SSL”, en la documentación.
-N max-conexiones
Establece el número máximo de conexiones de cliente que aceptará este servidor. El
initdb elige automáticamente el valor predeterminado de este parámetro. Especificando esto
La opción es equivalente a establecer el parámetro de configuración max_connections.
-o opciones adicionales
Los argumentos de estilo de línea de comandos especificados en opciones adicionales se pasan a todos los servidores
procesos iniciados por este Postgres .
Espacios dentro opciones adicionales se consideran argumentos separados, a menos que se hayan escapado con
una barra invertida (\); escriba \\ para representar una barra invertida literal. Múltiples argumentos pueden
también se puede especificar a través de múltiples usos de -o.
El uso de esta opción está obsoleto; todas las opciones de la línea de comandos para los procesos del servidor pueden
ser especificado directamente en el Postgres línea de comando.
-p Puerto
Especifica el puerto TCP / IP o la extensión del archivo de socket de dominio Unix local en el que Postgres
es escuchar las conexiones de las aplicaciones cliente. Por defecto, el valor de la
PUERTOPG variable de entorno, o si PUERTOPG no está configurado, entonces toma el valor predeterminado
establecido durante la compilación (normalmente 5432). Si especifica un puerto que no sea el
puerto predeterminado, todas las aplicaciones cliente deben especificar el mismo puerto utilizando
opciones de línea de comandos o PUERTOPG.
-s
Imprima información de tiempo y otras estadísticas al final de cada comando. Esto es útil
para realizar evaluaciones comparativas o para ajustar el número de búferes.
-S trabajo-mem
Especifica la cantidad de memoria que utilizarán los ordenamientos internos y los hash antes
recurriendo a archivos de disco temporales. Ver la descripción del trabajo_mem configuración
en la Sección 18.4.1, “Memoria”, en la documentación.
-V
--versión
Imprima la versión de postgres y salga.
--nombre =propuesta de
Establece un parámetro de tiempo de ejecución con nombre; una forma más corta de -c.
--describir-config
Esta opción descarga las variables de configuración interna del servidor, descripciones y
valores predeterminados en delimitados por tabulaciones COPIA formato. Está diseñado principalmente para ser utilizado por
herramientas de administración.
-?
--ayuda
Muestre ayuda sobre los argumentos de la línea de comandos de postgres y salga.
Semi-interno Opciónes
Las opciones descritas aquí se utilizan principalmente con fines de depuración y, en algunos casos, para
ayudar con la recuperación de bases de datos gravemente dañadas. No debería haber ninguna razón para usarlos
en una configuración de base de datos de producción. Se enumeran aquí solo para uso del sistema PostgreSQL
desarrolladores. Además, estas opciones pueden cambiar o eliminarse en una versión futura.
sin notificación.
-f {s | yo | o | b | t | n | m | h}
Prohíbe el uso de métodos particulares de escaneo y unión: sy yo desactivamos secuencial y
exploraciones de índice respectivamente, o, byt deshabilitan las exploraciones de sólo índice, exploraciones de índice de mapa de bits y
TID escanea respectivamente, mientras que n, myh deshabilitan las uniones de bucle anidado, fusión y hash
respectivamente.
Ni las exploraciones secuenciales ni las uniones de bucle anidado se pueden desactivar por completo; el -fs y
-fn opciones simplemente desalientan al optimizador de usar esos tipos de plan si tiene alguno
otra alternativa.
-n
Esta opción es para depurar problemas que hacen que un proceso de servidor falle de forma anormal.
La estrategia habitual en esta situación es notificar a todos los demás procesos del servidor que
deben terminar y luego reinicializar la memoria compartida y los semáforos. Esto es
porque un proceso de servidor erróneo podría haber corrompido algún estado compartido antes
terminando. Esta opción especifica que Postgres no reinicializará los datos compartidos
estructuras. Un programador de sistemas con conocimientos puede utilizar un depurador para examinar
memoria compartida y estado del semáforo.
-O
Permite modificar la estructura de las tablas del sistema. Esto es usado por initdb.
-P
Ignore los índices del sistema al leer las tablas del sistema, pero aún así actualice los índices cuando
modificando las tablas. Esto es útil cuando se recupera de índices del sistema dañados.
-t pa [rser] | pl [anner] | ejecutor]
Imprima estadísticas de tiempo para cada consulta relacionada con cada uno de los principales módulos del sistema.
Esta opción no se puede utilizar junto con el -s .
-T
Esta opción es para depurar problemas que hacen que un proceso de servidor falle de forma anormal.
La estrategia habitual en esta situación es notificar a todos los demás procesos del servidor que
deben terminar y luego reinicializar la memoria compartida y los semáforos. Esto es
porque un proceso de servidor erróneo podría haber corrompido algún estado compartido antes
terminando. Esta opción especifica que Postgres detendrá todos los demás procesos del servidor
enviando la señal SIGSTOP, pero no hará que terminen. Esto permite
programadores del sistema para recopilar manualmente volcados de memoria de todos los procesos del servidor.
-v protocolo
Especifica el número de versión del protocolo frontend / backend que se utilizará para un
sesión particular. Esta opción es solo para uso interno.
-W segundos
Se produce un retraso de estos segundos cuando se inicia un nuevo proceso de servidor, después de
realiza el procedimiento de autenticación. Esto tiene la intención de brindar la oportunidad de
adjuntar al proceso del servidor con un depurador.
Opciónes for Usuario unico Moda
Las siguientes opciones solo se aplican al modo de usuario único.
--soltero
Selecciona el modo de usuario único. Este debe ser el primer argumento en la línea de comando.
base de datos
Especifica el nombre de la base de datos a la que se accede. Este debe ser el último argumento en
la línea de comando. Si se omite, toma el nombre de usuario de forma predeterminada.
-E
Haz eco de todos los comandos.
-j
Inhabilita el uso de nueva línea como delimitador de instrucciones.
-r nombre de archivo
Enviar toda la salida del registro del servidor a nombre de archivo. Esta opción solo se acepta cuando se suministra como
opción de línea de comandos.
MEDIO AMBIENTE
PGCLIENTENCODIFICACIÓN
Codificación de caracteres predeterminada utilizada por los clientes. (Los clientes pueden anular esto
individualmente.) Este valor también se puede establecer en el archivo de configuración.
DATOSPG
Ubicación del directorio de datos predeterminado
PGDATESTYLE
Valor predeterminado del parámetro de tiempo de ejecución DateStyle. (El uso de este entorno
La variable está en desuso.)
PUERTOPG
Número de puerto predeterminado (preferiblemente establecido en el archivo de configuración)
TZ
Zona horaria del servidor
La diagnostica
Un mensaje de error que menciona semget o shmget probablemente indica que necesita configurar
su kernel para proporcionar la memoria compartida y los semáforos adecuados. Para obtener más información, consulte
Sección 17.4, “Administración de recursos del kernel”, en la documentación. deberias ser capaz de
posponga la reconfiguración de su kernel disminuyendo shared_buffers para reducir el compartido
consumo de memoria de PostgreSQL, y / o reduciendo max_connections para reducir el
consumo de semáforo.
Se debe verificar un mensaje de falla que sugiere que ya se está ejecutando otro servidor
con cuidado, por ejemplo, usando el comando
$ ps ax | grep Postgres
or
$ ps -ef | grep Postgres
dependiendo de su sistema. Si está seguro de que no se está ejecutando ningún servidor conflictivo,
puede eliminar el archivo de bloqueo mencionado en el mensaje e intentarlo de nuevo.
Un mensaje de falla que indique la imposibilidad de conectarse a un puerto podría indicar que ese puerto está
ya en uso por algún proceso que no es PostgreSQL. También puede recibir este error si
terminar Postgres e inmediatamente reinícielo usando el mismo puerto; en este caso, debes
simplemente espere unos segundos hasta que el sistema operativo cierre el puerto antes de volver a intentarlo.
Finalmente, puede obtener este error si especifica un número de puerto que su sistema operativo
considera reservado. Por ejemplo, muchas versiones de Unix consideran los números de puerto bajo
1024 para ser "de confianza" y solo permitir que el superusuario de Unix acceda a ellos.
NOTAS
El comando de utilidad pg_ctl(1) se puede utilizar para iniciar y apagar el Postgres servidor
de forma segura y cómoda.
Si es posible, do no use SIGKILL para matar el principal Postgres servidor. Hacerlo lo hará
evitar Postgres de liberar los recursos del sistema (por ejemplo, memoria compartida y semáforos)
que tiene antes de terminar. Esto puede causar problemas para iniciar una nueva Postgres
huye.
Para terminar el Postgres servidor normalmente, las señales SIGTERM, SIGINT o SIGQUIT se pueden
usado. El primero esperará a que todos los clientes terminen antes de salir, el segundo
desconecte a la fuerza a todos los clientes, y el tercero abandonará inmediatamente sin la debida
apagado, lo que da como resultado una ejecución de recuperación durante el reinicio.
La señal SIGHUP recargará los archivos de configuración del servidor. También es posible enviar
SIGHUP a un proceso de servidor individual, pero eso generalmente no es sensato.
Para cancelar una consulta en ejecución, envíe la señal SIGINT al proceso que ejecuta ese comando. A
terminar un proceso de backend limpiamente, envíe SIGTERM a ese proceso. Ver también
pg_cancel_backend y pg_terminate_backend en la Sección 9.26.2, “Señalización del servidor
Funciones ”, en la documentación para los equivalentes de estas dos acciones que se pueden llamar por SQL.
Los Postgres El servidor usa SIGQUIT para decirle a los procesos del servidor subordinado que terminen sin
limpieza normal. Esta señal should no ser utilizado por los usuarios. Tampoco es aconsejable enviar SIGKILL
a un proceso de servidor - el principal Postgres El proceso interpretará esto como un bloqueo y
forzar el cierre de todos los procesos hermanos como parte de su procedimiento estándar de recuperación de fallos.
Use postgres en línea usando los servicios de onworks.net