Red de conocimiento informático - Problemas con los teléfonos móviles - Métodos de inicio y apagado del servidor PostgreSQL

Métodos de inicio y apagado del servidor PostgreSQL

Métodos de inicio y apagado del servidor PostgreSQL

PostgreSQL adopta el modo C/S (cliente/servidor). La capa de aplicación se comunica con el servidor de la base de datos a través de INET o Unix Sockets utilizando protocolos establecidos. ¡A continuación he recopilado métodos relevantes de inicio y apagado del servidor PostgreSQL para usted!

1. Inicie el servidor de base de datos (usuario posgres):

[postgres@localhost bin]$ postgres -D /opt/postgresql/data/ > / opt/ postgresql/log/pg_server.log 2>&1 &

[1] 4508

Por supuesto, si configura la variable de entorno

PGDATA= /opt /postgresql/data

exportar PGDATA

Después de configurar PGDATA, puede usar PGDATA para configurar variables de entorno.

Después, puedes iniciarlo usando la herramienta pg_ctl:

[postgres@localhost log]$ pg_ctl start -l /opt/postgresql/log/pg_server.log

pg_ctl: es posible que se esté ejecutando otro servidor; intentando iniciar el servidor de todos modos

pg_ctl: no se pudo iniciar el servidor

Verifique la salida del registro.

[postgres@localhost log]$

Imprimir "¿Es posible que se esté ejecutando otro servidor? En este momento, verifique el registro y encontrará la siguiente información:

[postgres @localhost log]$ cat pg_server.log

FATAL: el archivo de bloqueo "postmaster.pid" ya existe

Consejo: ¿Hay alguno en el directorio de datos "/opt/ postgresql/data" ¿Se está ejecutando otro postmaster (PID 4491)?

[postgres@localhost log]$

Por supuesto, el más simple. El proceso de inicio es el siguiente:

[postgres @localhost ~]$ pg_ctl start

Inicio del servidor

[postgres@localhost ~]$ LOG: El sistema de base de datos se cerró el 2011-07-09 13 :58:00 hora central

LOG: iniciador de vacío automático

LOG: el sistema de base de datos está listo para aceptar conexiones

Si desea iniciar PG cuando esté en funcionamiento El sistema se inicia, puede hacerlo en / /usr/localhost.PG en el archivo usr/localhost.com /usr/localhost.com en el archivo com.

PG, puede agregar la siguiente declaración en el archivo /etc/rc.d/rc.local:

/opt/postgresql/bin/pg_ctl start -l /opt/postgresql/log/pg_server.log -D /opt/postgresql/data

2. Apagar el servidor

La forma más sencilla:

[postgres@localhost ~]$ pg_ctl stop

Esperando el cierre del servidor....hecho

Servidor detenido

Al igual que Oracle, se pueden usar diferentes modos al apagar, como se describe a continuación:

SIGTERM

Ya no permite nuevas conexiones, pero permite que todas las sesiones activas completen su trabajo normalmente, cerrándose solo cuando todas las sesiones hayan completado su trabajo. Este es un cierre inteligente.

SIGINT

Ya no permite nuevas conexiones, envía SIGTERM a todos los servidores activos (indicándoles que salgan inmediatamente), luego espera a que todos los procesos secundarios salgan y cierren la base de datos. Este es un procedimiento de apagado rápido.

SIGQUIT

Le dice a postgres que envíe SIGQUIT a todos los procesos secundarios y salga inmediatamente (todos los procesos secundarios también salen inmediatamente) sin cerrar adecuadamente el sistema de base de datos. Este es un cierre inmediato. Hacerlo provocará la recuperación en el siguiente inicio (al reproducir el registro WAL). Recomendamos utilizar este método sólo en emergencias.

SIGKILL

Esta opción debe evitarse ya que evitará que el servidor limpie la memoria y los recursos de Semaphore utilizados por ****, en cuyo caso deberá iniciar el servidor Limpiar estos recursos manualmente antes. Además, SIGKILL elimina postgres directamente sin esperar a que entregue una señal a sus procesos secundarios, por lo que también debemos eliminar cada proceso secundario manualmente.

Ejemplo de uso:

[postgres@localhost ~]$ pg_ctl stop -o SIGTERM

LOG: solicitud de apagado inteligente recibida

LOG . El iniciador de vacío automático se está apagando

esperando que el servidor se apague.....LOG: apagado

LOG: el sistema de base de datos se ha cerrado

hecho <. /p >

El servidor se ha detenido

[postgres@localhost ~]$

La forma más rápida de cerrar es cerrar el sistema postgres.

Método de cierre: eliminar el proceso de postgres

[postgres@localhost ~]$ kill -INT `head -1 /opt/postgresql/data/postmaster.pid`

[postgres@ localhost ~]$ LOG: se recibió una solicitud de apagado rápido

LOG: se canceló cualquier transacción activa

LOG: el lanzador de vacío automático se apagó

LOG: se apagó

LOG: el sistema de base de datos está cerrado

El siguiente es el proceso después de iniciar postgre:

[postgres@localhost ~]$ ps grep post

root 4609 4543 0 13:57 pts/2 00:00:00 su - postgres

postgres 4610 4609 0 13:57 pts/2 00:00:00 -bash

postgres 4724 1 0 14:08 pts/2 00:00:00 /opt/postgresql/bin/postgres

postgres 4726 4724 0 14:08 ?00:00:00 postgres: proceso de escritura

p>

postgres 4727 4724 0 14:08 ?00:00:00 postgres: proceso de escritura wal

postgres 4728 4724 0 14:08 ?00:00:00 postgres: autovacuum proceso del lanzador

p>

postgres 4729 4724 0 14:08 ?00:00:00 postgres: proceso del recopilador de estadísticas

postgres 4752 4610 0 14:11 pts/2 00 :00:00 ps -ef

postgres 4753 4610 0 14:11 pts/2 00:00:00 grep publicación

[postgres@localhost ~]$ ;