Este es el comando pg_dump 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
pg_dump: extrae una base de datos PostgreSQL en un archivo de secuencia de comandos u otro archivo de almacenamiento
SINOPSIS
pg_dump [opción de conexión...] [opción...] [nombre de la base de datos]
DESCRIPCIÓN
pg_dump es una utilidad para realizar copias de seguridad de una base de datos PostgreSQL. Hace copias de seguridad consistentes
incluso si la base de datos se utiliza al mismo tiempo. pg_dump no bloquea a otros usuarios
acceder a la base de datos (lectores o escritores).
pg_dump solo vuelca una única base de datos. Para hacer una copia de seguridad de los objetos globales que son comunes a todos
bases de datos en un clúster, como roles y espacios de tabla, usan pg_dumpall(1).
Los volcados se pueden generar en formatos de archivo de archivo o script. Los volcados de scripts son archivos de texto sin formato
que contiene los comandos SQL necesarios para reconstruir la base de datos al estado en que se encontraba en
el tiempo que se salvó. Para restaurar desde un script de este tipo, alimentelo a psql(1). Los archivos de secuencia de comandos pueden
utilizarse para reconstruir la base de datos incluso en otras máquinas y otras arquitecturas; con
algunas modificaciones, incluso en otros productos de bases de datos SQL.
Los formatos de archivo alternativos deben utilizarse con pg_restaurar(1) para reconstruir el
base de datos. Permiten que pg_restore sea selectivo sobre lo que se restaura, o incluso para reordenar
los elementos antes de ser restaurados. Los formatos de archivo de archivo están diseñados para ser portátiles
a través de arquitecturas.
Cuando se usa con uno de los formatos de archivo de almacenamiento y se combina con pg_restore, pg_dump
proporciona un mecanismo flexible de archivo y transferencia. pg_dump se puede utilizar para hacer una copia de seguridad de un
toda la base de datos, luego pg_restore se puede utilizar para examinar el archivo y / o seleccionar qué
partes de la base de datos serán restauradas. Los formatos de archivo de salida más flexibles son los
Formato "personalizado" (-fc) y el formato de "directorio" (-Fd). Permiten la selección y
reordenación de todos los elementos archivados, admite la restauración paralela y están comprimidos por
defecto. El formato de "directorio" es el único formato que admite volcados paralelos.
Mientras se ejecuta pg_dump, se debe examinar la salida en busca de advertencias (impresas en formato estándar
error), especialmente a la luz de las limitaciones que se enumeran a continuación.
OPCIONES
Las siguientes opciones de la línea de comandos controlan el contenido y el formato de la salida.
nombre de la base de datos
Especifica el nombre de la base de datos que se va a volcar. Si esto no se especifica, el
Variable ambiental BASE DE DATOS DE PG se utiliza. Si no se establece, el nombre de usuario especificado
para la conexión se utiliza.
-a
- solo datos
Vierta solo los datos, no el esquema (definiciones de datos). Datos de tabla, objetos grandes y
los valores de secuencia se vuelcan.
Esta opción es similar, pero por razones históricas no idénticas a, especificar
--sección = datos.
-b
--manchas
Incluya objetos grandes en el basurero. Este es el comportamiento predeterminado excepto cuando --esquema,
--mesao --sólo esquema se especifica, por lo que el -b El interruptor solo es útil para agregar grandes
Objetos a vertederos selectivos.
-c
--limpio
Comandos de salida para limpiar (eliminar) los objetos de la base de datos antes de enviar los comandos para
creándolos. (A no ser que --si-existe también se especifica, la restauración puede generar algunos
mensajes de error inofensivos, si algún objeto no estaba presente en la base de datos de destino).
Esta opción solo es significativa para el formato de texto sin formato. Para los formatos de archivo,
puede especificar la opción cuando llama pg_restaurar.
-C
--crear
Comience la salida con un comando para crear la propia base de datos y volver a conectarse a la
base de datos creada. (Con un script de esta forma, no importa qué base de datos en el
instalación de destino a la que se conecta antes de ejecutar el script). --limpio También es
especificado, la secuencia de comandos suelta y vuelve a crear la base de datos de destino antes de volver a conectarse a
él.
Esta opción solo es significativa para el formato de texto sin formato. Para los formatos de archivo,
puede especificar la opción cuando llama pg_restaurar.
-E codificación
--encoding =codificación
Cree el volcado en la codificación de juego de caracteres especificada. Por defecto, el volcado es
creado en la codificación de la base de datos. (Otra forma de obtener el mismo resultado es establecer el
PGCLIENTENCODIFICACIÓN variable de entorno a la codificación de volcado deseada).
-f presentar
--file =presentar
Envíe la salida al archivo especificado. Este parámetro se puede omitir para la salida basada en archivos.
formatos, en cuyo caso se utiliza la salida estándar. Debe darse para el directorio.
formato de salida sin embargo, donde especifica el directorio de destino en lugar de un archivo. En
este caso el directorio es creado por pg_dump y no debe existir antes.
-F formato
--format =formato
Selecciona el formato de salida. formato puede ser uno de los siguientes:
p
llanura
Genere un archivo de secuencia de comandos SQL de texto sin formato (predeterminado).
c
personalizado
Genere un archivo de formato personalizado adecuado para ingresar en pg_restore. Juntos con
el formato de salida del directorio, este es el formato de salida más flexible ya que
permite la selección manual y el reordenamiento de elementos archivados durante la restauración. Esta
El formato también está comprimido de forma predeterminada.
d
directorio
Genere un archivo con formato de directorio adecuado para ingresar en pg_restore. Esta voluntad
crear un directorio con un archivo para cada tabla y blob que se va a volcar, más un
el llamado archivo de tabla de contenido que describe los objetos vertidos en un
formato legible por máquina que pg_restore puede leer. Un archivo de formato de directorio puede
ser manipulado con herramientas estándar de Unix; por ejemplo, archivos en un formato sin comprimir
El archivo se puede comprimir con la herramienta gzip. Este formato está comprimido de forma predeterminada
y también admite volcados paralelos.
t
alquitrán
Salida a alquitrán-archivo de formato adecuado para ingresar en pg_restore. El formato tar es
compatible con el formato de directorio: la extracción de un archivo en formato tar produce un
archivo de formato de directorio válido. Sin embargo, el formato tar no es compatible
compresión. Además, cuando se usa el formato tar, el orden relativo de los elementos de datos de la tabla
no se puede cambiar durante la restauración.
-j ntrabajos
--jobs =ntrabajos
Ejecute el volcado en paralelo volcando ntrabajos mesas simultáneamente. Esta opción reduce
el momento del volcado, pero también aumenta la carga en el servidor de la base de datos. Usted puede
solo use esta opción con el formato de salida del directorio porque esta es la única salida
formato donde múltiples procesos pueden escribir sus datos al mismo tiempo.
pg_dump se abrirá ntrabajos +1 conexiones a la base de datos, así que asegúrese de
La configuración de max_connections es lo suficientemente alta para dar cabida a todas las conexiones.
Solicitar bloqueos exclusivos en objetos de base de datos mientras se ejecuta un volcado paralelo podría
hacer que el volcado falle. La razón es que las solicitudes del proceso maestro pg_dump compartidas
bloquea los objetos que los procesos de trabajo van a volcar más tarde para
asegúrese de que nadie los elimine y los haga desaparecer mientras se ejecuta el volcado.
Si otro cliente solicita un bloqueo exclusivo en una mesa, ese bloqueo no será
concedido, pero se pondrá en cola esperando que el bloqueo compartido del proceso maestro sea
publicado. En consecuencia, tampoco se concederá ningún otro acceso a la mesa y
hará cola después de la solicitud de bloqueo exclusivo. Esto incluye el proceso de trabajo que intenta
para volcar la mesa. Sin ninguna precaución, esta sería una situación clásica de estancamiento.
Para detectar este conflicto, el proceso de trabajo pg_dump solicita otro bloqueo compartido usando
la opción NOWAIT. Si al proceso de trabajo no se le concede este bloqueo compartido, alguien
De lo contrario, debe haber solicitado un bloqueo exclusivo mientras tanto y no hay forma de
continúe con el volcado, por lo que pg_dump no tiene más remedio que abortar el volcado.
Para una copia de seguridad coherente, el servidor de la base de datos debe admitir instantáneas sincronizadas,
una característica que se introdujo en PostgreSQL 9.2. Con esta función, los clientes de bases de datos
puede asegurarse de que vean el mismo conjunto de datos aunque utilicen conexiones diferentes.
pg_dump -j utiliza múltiples conexiones de bases de datos; se conecta a la base de datos una vez con
el proceso maestro y una vez más para cada puesto de trabajo. Sin el sincronizado
función de instantánea, no se garantizaría que los diferentes trabajos de los trabajadores vean lo mismo
datos en cada conexión, lo que podría dar lugar a una copia de seguridad incoherente.
Si desea ejecutar un volcado paralelo de un servidor anterior a 9.2, debe asegurarse de que el
El contenido de la base de datos no cambia entre el momento en que el maestro se conecta al
base de datos hasta que el último trabajo del trabajador se haya conectado a la base de datos. La forma más fácil de
hacer esto es detener cualquier proceso de modificación de datos (DDL y DML) que acceda a la base de datos
antes de iniciar la copia de seguridad. También debe especificar el --no-instantáneas-sincronizadas
parámetro cuando se ejecuta pg_dump -j contra un servidor PostgreSQL anterior a la 9.2.
-n Esquema
--esquema =Esquema
Volcar solo coincidencia de esquemas Esquema; Esto selecciona tanto el esquema en sí como todos sus
objetos contenidos. Cuando no se especifica esta opción, todos los esquemas que no son del sistema en el
La base de datos de destino se volcará. Se pueden seleccionar varios esquemas escribiendo varios
-n interruptores. También el Esquema El parámetro se interpreta como un patrón de acuerdo con el
mismas reglas utilizadas por los comandos \ d de psql (ver Patrones), por lo que también se pueden
seleccionado escribiendo caracteres comodín en el patrón. Cuando utilice comodines, tenga
Tenga cuidado de citar el patrón si es necesario para evitar que el caparazón expanda el
comodines; ver EJEMPLOS.
Nota
Cuándo -n se especifica, pg_dump no intenta volcar ningún otro objeto de la base de datos
de los que pueden depender los esquemas seleccionados. Por lo tanto, no hay garantía.
que los resultados de un volcado de esquema específico se pueden restaurar con éxito por
ellos mismos en una base de datos limpia.
Nota
Los objetos que no pertenecen al esquema, como blobs, no se vuelcan cuando -n está especificado. Puedes añadir
blobs de vuelta al vertedero con el --manchas switch.
-N Esquema
--exclude-esquema =Esquema
No descargue ningún esquema que coincida con el Esquema patrón. El patrón se interpreta
de acuerdo con las mismas reglas que para -n. -N se puede administrar más de una vez para excluir
esquemas que coinciden con cualquiera de varios patrones.
Cuando ambos -n y -N se dan, el comportamiento es volcar solo los esquemas que coinciden en
menos uno -n cambiar pero no -N interruptores. Si -N aparece sin -n, luego esquemas
pareo -N están excluidos de lo que de otro modo sería un vertedero normal.
-o
--oides
Volcar identificadores de objetos (OID) como parte de los datos de cada tabla. Utilice esta opción si
su aplicación hace referencia a las columnas OID de alguna manera (por ejemplo, en una clave externa
restricción). De lo contrario, esta opción no debería utilizarse.
-O
--sin dueño
No genere comandos para establecer la propiedad de los objetos para que coincidan con la base de datos original. Por
por defecto, problemas de pg_dump ALTER PROPIETARIO or SET SESIÓN AUTORIZACIÓN declaraciones para establecer
propiedad de los objetos de base de datos creados. Estas declaraciones fallarán cuando el script esté
ejecutar a menos que lo inicie un superusuario (o el mismo usuario que posee todos los objetos
en el guión). Para hacer un script que pueda ser restaurado por cualquier usuario, pero le dará
propiedad del usuario de todos los objetos, especifique -O.
Esta opción solo es significativa para el formato de texto sin formato. Para los formatos de archivo,
puede especificar la opción cuando llama pg_restaurar.
-R
--no-reconectar
Esta opción es obsoleta pero aún se acepta por compatibilidad con versiones anteriores.
-s
--sólo esquema
Volcar solo las definiciones de objeto (esquema), no los datos.
Esta opción es la inversa de - solo datos. Es similar a, pero por razones históricas.
razones no idénticas a, especificando --section = pre-data --section = post-data.
(No confunda esto con el --esquema opción, que utiliza la palabra "esquema" en una
significado diferente.)
Para excluir datos de tabla solo para un subconjunto de tablas en la base de datos, consulte
--excluir-datos-de-tabla.
-S nombre de usuario
--superuser =nombre de usuario
Especifique el nombre de usuario de superusuario que se utilizará al deshabilitar los activadores. Esto solo es relevante
if --disable-triggers se utiliza. (Por lo general, es mejor omitir esto y, en su lugar,
iniciar el script resultante como superusuario).
-t mesa
--table =mesa
Volcar solo tablas (o vistas o secuencias o tablas externas) que coinciden mesa. Múltiple
Las tablas se pueden seleccionar escribiendo múltiples -t interruptores. También el mesa el parámetro es
interpretado como un patrón de acuerdo con las mismas reglas utilizadas por los comandos \ d de psql (ver
Patrones), por lo que también se pueden seleccionar varias tablas escribiendo caracteres comodín en
el patrón. Cuando utilice comodines, tenga cuidado de citar el patrón si es necesario
evitar que el shell expanda los comodines; ver EJEMPLOS.
La -n y -N los interruptores no tienen efecto cuando -t se utiliza, porque las tablas seleccionadas por -t
se volcarán independientemente de esos conmutadores, y los objetos que no sean de tabla no se volcarán.
Nota
Cuándo -t se especifica, pg_dump no intenta volcar ningún otro objeto de la base de datos
de las que pueden depender las tablas seleccionadas. Por lo tanto, no hay garantía.
que los resultados de un volcado de tabla específica se pueden restaurar con éxito por
ellos mismos en una base de datos limpia.
Nota
El comportamiento de la -t Switch no es completamente compatible con versiones anteriores a 8.2
Versiones de PostgreSQL. Anteriormente, escribir -t tab volcaba todas las tablas llamadas tab, pero
ahora simplemente descarga el que esté visible en su ruta de búsqueda predeterminada. Para obtener el
comportamiento anterior puede escribir -t '* .tab'. Además, debes escribir algo como -t
sch.tab para seleccionar una tabla en un esquema particular, en lugar de la antigua locución de
-n sch -t pestaña.
-T mesa
--exclude-table =mesa
No vuelque ninguna tabla que coincida con el mesa patrón. El patrón se interpreta
de acuerdo con las mismas reglas que para -t. -T se puede administrar más de una vez para excluir
tablas que coinciden con cualquiera de varios patrones.
Cuando ambos -t y -T se dan, el comportamiento es volcar solo las tablas que coinciden en
menos uno -t cambiar pero no -T interruptores. Si -T aparece sin -t, luego tablas que coinciden
-T están excluidos de lo que de otro modo sería un vertedero normal.
-v
--verboso
Especifica el modo detallado. Esto hará que pg_dump genere comentarios detallados del objeto y
las horas de inicio / parada en el archivo de volcado y los mensajes de progreso en el error estándar.
-V
--versión
Imprima la versión de pg_dump y salga.
-x
--sin privilegios
--no-acl
Evitar el volcado de privilegios de acceso (otorgar / revocar comandos).
-Z 0 9 ..
--compress =0 9 ..
Especifique el nivel de compresión que se utilizará. Cero significa que no hay compresión. Para la costumbre
formato de archivo, esto especifica la compresión de segmentos de datos de tabla individuales, y el
el valor predeterminado es comprimir a un nivel moderado. Para la salida de texto sin formato, establecer un valor distinto de cero
El nivel de compresión hace que todo el archivo de salida se comprima, como si hubiera
ha sido alimentado a través de gzip; pero el valor predeterminado es no comprimir. El formato de archivo tar
actualmente no admite compresión en absoluto.
- actualización binaria
Esta opción está destinada a las utilidades de actualización in situ. Su uso para otros fines es
no recomendado ni compatible. El comportamiento de la opción puede cambiar en futuras versiones.
sin notificación.
- inserciones de columna
- inserciones de atributos
Volcar datos como INSERT comandos con nombres de columna explícitos (INSERT INTO mesa (visión de conjunto,
...) VALORES ...). Esto hará que la restauración sea muy lenta; es principalmente útil para hacer
volcados que se pueden cargar en bases de datos que no son PostgreSQL. Sin embargo, dado que esta opción
genera un comando separado para cada fila, un error al recargar una fila solo causa
esa fila se perderá en lugar de todo el contenido de la tabla.
--deshabilitar-cotización en dólares
Esta opción deshabilita el uso de cotizaciones en dólares para los cuerpos de funciones y los obliga a
citarse utilizando la sintaxis de cadena estándar de SQL.
--disable-triggers
Esta opción es relevante solo cuando se crea un volcado de solo datos. Instruye a pg_dump a
incluir comandos para deshabilitar temporalmente los activadores en las tablas de destino mientras los datos
se recarga. Use esto si tiene verificaciones de integridad referencial u otros activadores en
las tablas que no desea invocar durante la recarga de datos.
Actualmente, los comandos emitidos por --disable-triggers debe hacerse como superusuario. Entonces,
también debe especificar un nombre de superusuario con -S, o preferiblemente tenga cuidado de comenzar
el script resultante como superusuario.
Esta opción solo es significativa para el formato de texto sin formato. Para los formatos de archivo,
puede especificar la opción cuando llama pg_restaurar.
--habilitar-fila-seguridad
Esta opción es relevante solo cuando se descarga el contenido de una tabla que tiene una fila
seguridad. De forma predeterminada, pg_dump desactivará row_security para garantizar que todos los datos estén
arrojado de la mesa. Si el usuario no tiene suficientes privilegios para omitir la fila
seguridad, entonces se lanza un error. Este parámetro indica a pg_dump que establezca
row_security en su lugar, lo que permite al usuario volcar las partes del contenido del
mesa a la que tienen acceso.
--exclude-tabla-datos =mesa
No vuelque datos para ninguna tabla que coincida con el mesa patrón. El patrón se interpreta
de acuerdo con las mismas reglas que para -t. --excluir-datos-de-tabla se le puede dar más de
una vez para excluir tablas que coincidan con cualquiera de varios patrones. Esta opción es útil cuando
necesita la definición de una tabla en particular aunque no necesita los datos en
él.
Para excluir datos de todas las tablas de la base de datos, consulte --sólo esquema.
--si-existe
Use comandos condicionales (es decir, agregue una cláusula IF EXISTS) al limpiar la base de datos
objetos. Esta opción no es válida a menos que --limpio también se especifica.
--insertos
Volcar datos como INSERT comandos (en lugar de COPIA). Esto hará que la restauración sea muy lenta;
es principalmente útil para realizar volcados que se pueden cargar en bases de datos que no son PostgreSQL.
Sin embargo, dado que esta opción genera un comando separado para cada fila, un error en
recargar una fila hace que se pierda solo esa fila en lugar de todo el contenido de la tabla.
Tenga en cuenta que la restauración puede fallar por completo si ha reorganizado el orden de las columnas. los
- inserciones de columna La opción es segura contra cambios en el orden de las columnas, aunque es incluso más lenta.
--lock-wait-timeout =tiempo de espera
No espere una eternidad para adquirir bloqueos de tablas compartidas al comienzo del volcado.
En su lugar, falla si no puede bloquear una tabla dentro del especificado tiempo de espera. El tiempo de espera puede
estar especificado en cualquiera de los formatos aceptados por SET declaración_tiempo de espera. (Valores permitidos
varían dependiendo de la versión del servidor desde el que está volcando, pero un número entero de
milisegundos es aceptado por todas las versiones desde 7.3. Esta opción se ignora cuando
volcado desde un servidor anterior a la 7.3.)
--no-etiquetas-de-seguridad
No arroje etiquetas de seguridad.
--no-instantáneas-sincronizadas
Esta opción permite correr pg_dump -j contra un servidor anterior a 9.2, consulte la documentación
del -j parámetro para más detalles.
--sin espacios de tablas
No genere comandos para seleccionar espacios de tabla. Con esta opción, todos los objetos serán
creado en el espacio de tabla que sea el predeterminado durante la restauración.
Esta opción solo es significativa para el formato de texto sin formato. Para los formatos de archivo,
puede especificar la opción cuando llama pg_restaurar.
--no-datos-de-tabla-no registrados
No vuelque el contenido de tablas no registradas. Esta opción no tiene ningún efecto sobre si
no se descartan las definiciones de la tabla (esquema); solo suprime el volcado de la mesa
datos. Los datos de las tablas no registradas siempre se excluyen cuando se descargan desde un servidor en espera.
--quote-todos-identificadores
Forzar la cita de todos los identificadores. Esto puede resultar útil al volcar una base de datos para
migración a una versión futura que puede haber introducido palabras clave adicionales.
--section =Nombre de la sección
Volcar solo la sección nombrada. El nombre de la sección puede ser pre-datos, datoso post-datos.
Esta opción se puede especificar más de una vez para seleccionar varias secciones. El valor por defecto
es volcar todas las secciones.
La sección de datos contiene datos reales de la tabla, contenido de objetos grandes y secuencia
valores. Los elementos posteriores a los datos incluyen definiciones de índices, desencadenantes, reglas y
restricciones distintas de las restricciones de verificación validadas. Los elementos de datos previos incluyen todos los demás
elementos de definición de datos.
- serializable-diferible
Utilice una transacción serializable para el volcado, para asegurarse de que la instantánea utilizada sea
coherente con los estados posteriores de la base de datos; pero haz esto esperando un punto en el
flujo de transacciones en el que no puede haber anomalías presentes, por lo que no hay riesgo de
el volcado falla o hace que otras transacciones retrocedan con un
serialization_failure. Consulte el Capítulo 13, Control de simultaneidad, en la documentación para
más información sobre aislamiento de transacciones y control de concurrencia.
Esta opción no es beneficiosa para un volcado que está destinado únicamente a la recuperación ante desastres.
Podría ser útil para un volcado utilizado para cargar una copia de la base de datos para informar o
otra carga compartida de solo lectura mientras la base de datos original continúa actualizándose.
Sin él, el volcado puede reflejar un estado que no es consistente con ninguna serie.
ejecución de las transacciones eventualmente comprometidas. Por ejemplo, si el procesamiento por lotes
se utilizan técnicas, un lote puede mostrarse como cerrado en el vertedero sin todos los elementos
que están en el lote que aparece.
Esta opción no hará ninguna diferencia si no hay transacciones de lectura y escritura activas
cuando se inicia pg_dump. Si las transacciones de lectura y escritura están activas, el inicio del volcado
puede retrasarse por un período de tiempo indeterminado. Una vez en funcionamiento, el rendimiento con o
sin el interruptor es lo mismo.
--snapshot =nombre de instantánea
Utilice la instantánea sincronizada especificada al realizar un volcado de la base de datos (consulte
Tabla 9.71, “Funciones de sincronización de instantáneas” para obtener más detalles).
Esta opción es útil cuando se necesita sincronizar el volcado con una replicación lógica.
ranura (consulte el Capítulo 46, Decodificación lógica, en la documentación) o con una
de preguntas y respuestas.
En el caso de un volcado paralelo, se utiliza el nombre de la instantánea definido por esta opción
en lugar de tomar una nueva instantánea.
--usar-establecer-autorización-de-sesión
Salida estándar SQL SET SESIÓN AUTORIZACIÓN comandos en lugar de ALTER PROPIETARIO comandos
para determinar la propiedad del objeto. Esto hace que el volcado sea más compatible con los estándares, pero
según el historial de los objetos del volcado, es posible que no se restaure correctamente. También,
un basurero usando SET SESIÓN AUTORIZACIÓN sin duda requerirá privilegios de superusuario para
restaurar correctamente, mientras que ALTER PROPIETARIO requiere privilegios menores.
-?
--ayuda
Muestre ayuda sobre los argumentos de la línea de comando pg_dump y salga.
Las siguientes opciones de la línea de comandos controlan los parámetros de conexión de la base de datos.
-d nombre de la base de datos
--dbname =nombre de la base de datos
Especifica el nombre de la base de datos a la que conectarse. Esto es equivalente a especificar
nombre de la base de datos como el primer argumento sin opción en la línea de comando.
Si este parámetro contiene un signo = o comienza con un prefijo URI válido (postgresql: //
o postgres: //), se trata como un conninfo cuerda. Consulte la Sección 31.1, “Base de datos
Funciones de control de conexión ”, en la documentación para obtener más información.
-h host
--host =host
Especifica el nombre de host de la máquina en la que se ejecuta el servidor. Si el valor
comienza con una barra, se utiliza como directorio para el socket de dominio Unix. los
por defecto se toma de la PHOST variable de entorno, si se establece, de lo contrario, un dominio Unix
Se intenta la conexión del enchufe.
-p Puerto
--port =Puerto
Especifica el puerto TCP o la extensión del archivo de socket de dominio Unix local en el que el servidor
está escuchando conexiones. Por defecto es PUERTOPG variable de entorno, si se establece, o
un valor predeterminado compilado.
-U nombre de usuario
--username =nombre de usuario
Nombre de usuario para conectarse como.
-w
--Sin contraseña
Nunca emita una solicitud de contraseña. Si el servidor requiere autenticación de contraseña y una
La contraseña no está disponible por otros medios, como un archivo .pgpass, la conexión
el intento fallará. Esta opción puede ser útil en trabajos por lotes y scripts donde ningún usuario
está presente para ingresar una contraseña.
-W
--contraseña
Obligue a pg_dump a solicitar una contraseña antes de conectarse a una base de datos.
Esta opción nunca es esencial, ya que pg_dump solicitará automáticamente una contraseña
si el servidor exige autenticación de contraseña. Sin embargo, pg_dump desperdiciará un
intento de conexión descubriendo que el servidor quiere una contraseña. En algunos casos es
vale la pena escribir -W para evitar el intento de conexión adicional.
--role =nombre de rol
Especifica un nombre de rol que se utilizará para crear el volcado. Esta opción hace que pg_dump
emitir un SET PAPEL nombre de rol comando después de conectarse a la base de datos. Es útil cuando
el usuario autenticado (especificado por -U) carece de los privilegios necesarios para pg_dump, pero puede
cambie a un rol con los derechos requeridos. Algunas instalaciones tienen una política contra
iniciar sesión directamente como superusuario, y el uso de esta opción permite realizar volcados
sin violar la política.
MEDIO AMBIENTE
BASE DE DATOS DE PG
PHOST
PGOPCIONES
PUERTOPG
PGUSER
Parámetros de conexión predeterminados.
Esta utilidad, como la mayoría de las otras utilidades de PostgreSQL, también usa las variables de entorno
compatible con libpq (consulte la Sección 31.14, “Variables de entorno”, en la documentación).
La diagnostica
pg_dump se ejecuta internamente SELECT declaraciones. Si tiene problemas para ejecutar pg_dump, haga
asegúrese de que puede seleccionar información de la base de datos utilizando, por ejemplo, psql(1).
Además, cualquier configuración de conexión predeterminada y variables de entorno utilizadas por libpq
se aplicará la biblioteca de front-end.
La actividad de la base de datos de pg_dump normalmente la recopila el recopilador de estadísticas. Si
esto no es deseable, puede configurar el parámetro track_counts a falso a través de PGOPCIONES o el
Comando ALTER USER.
NOTAS
Si su clúster de base de datos tiene adiciones locales a la base de datos template1, tenga cuidado de
restaurar la salida de pg_dump en una base de datos verdaderamente vacía; de lo contrario, es probable que obtengas
Errores debidos a definiciones duplicadas de los objetos añadidos. Para hacer una base de datos vacía
sin adiciones locales, copie de template0 no template1, por ejemplo:
CREAR BASE DE DATOS foo CON PLANTILLA template0;
Cuando se elige un volcado de solo datos y la opción --disable-triggers se utiliza, pg_dump emite
comandos para deshabilitar disparadores en tablas de usuario antes de insertar los datos, y luego comandos
para volver a habilitarlos después de que se hayan insertado los datos. Si la restauración se detiene en el
en el medio, es posible que los catálogos del sistema se hayan dejado en un estado incorrecto.
El archivo de volcado producido por pg_dump no contiene las estadísticas utilizadas por el optimizador para
tomar decisiones de planificación de consultas. Por lo tanto, es aconsejable correr ANALIZAR después de restaurar desde un
archivo de volcado para garantizar un rendimiento óptimo; consulte la Sección 23.1.3, “Actualización de Planner
Estadísticas ”, en la documentación y Sección 23.1.6,“ El demonio de Autovacuum ”, en la
documentación para obtener más información. El archivo de volcado tampoco contiene ningún ALTER BASE DE DATOS
... SET comandos; estos ajustes son descargados por pg_dumpall(1), junto con los usuarios de la base de datos
y otras configuraciones de toda la instalación.
Debido a que pg_dump se usa para transferir datos a versiones más recientes de PostgreSQL, la salida de
Se puede esperar que pg_dump se cargue en versiones del servidor PostgreSQL más nuevas que las de pg_dump
versión. pg_dump también puede volcar desde servidores PostgreSQL anteriores a su propia versión.
(Actualmente, los servidores de la versión 7.0 son compatibles). Sin embargo, pg_dump no puede volcar desde
Servidores PostgreSQL más nuevos que su propia versión principal; se negará a intentarlo, más bien
que arriesgarse a hacer un volcado no válido. Además, no se garantiza que la salida de pg_dump pueda ser
cargado en un servidor de una versión principal anterior, ni siquiera si el volcado se tomó de un
servidor de esa versión. La carga de un archivo de volcado en un servidor más antiguo puede requerir
edición del archivo de volcado para eliminar la sintaxis que el servidor anterior no comprende.
EJEMPLOS
Para volcar una base de datos llamada mydb en un archivo de script SQL:
$ pg_dump midb > db.sql
Para volver a cargar dicho script en una base de datos (recién creada) llamada newdb:
$ psql -d nuevodb -f db.sql
Para volcar una base de datos en un archivo de formato personalizado:
$ pg_dump -fc midb > db.volcado
Para volcar una base de datos en un archivo con formato de directorio:
$ pg_dump -Fd midb -f vertedero
Para volcar una base de datos en un archivo con formato de directorio en paralelo con 5 trabajos de trabajador:
$ pg_dump -Fd midb -j 5 -f vertedero
Para recargar un archivo de almacenamiento en una base de datos (recién creada) llamada newdb:
$ pg_restaurar -d nuevodb db.volcado
Para volcar una sola tabla llamada mytab:
$ pg_dump -t mitab midb > db.sql
Para volcar todas las tablas cuyos nombres comienzan con emp en el esquema de Detroit, excepto la tabla
llamado employee_log:
$ pg_dump -t 'detroit.emp *' -T detroit.employee_log midb > db.sql
Para volcar todos los esquemas cuyos nombres comienzan con este u oeste y terminan en gsm, excluyendo cualquier
esquemas cuyos nombres contienen la palabra prueba:
$ pg_dump -n 'este * gsm' -n 'oeste * gsm' -N '*prueba*' midb > db.sql
Lo mismo, usando la notación de expresión regular para consolidar los conmutadores:
$ pg_dump -n '(este | oeste) * gsm' -N '*prueba*' midb > db.sql
Para volcar todos los objetos de la base de datos excepto las tablas cuyos nombres comienzan con ts_:
$ pg_dump -T 'ts_ *' midb > db.sql
Para especificar un nombre en mayúsculas o en mayúsculas y minúsculas en -t y conmutadores relacionados, necesita
entre comillas el nombre; de lo contrario, se plegará a minúsculas (consulte Patrones). Pero el doble
las comillas son especiales para el shell, por lo que a su vez deben estar entre comillas. Por lo tanto, para volcar un solo
tabla con un nombre de mayúsculas y minúsculas, necesita algo como
$ pg_dump -t "\" MixedCaseName \ "" midb > mitab.sql
Use pg_dump en línea usando los servicios de onworks.net