Estoy tratando de restaurar mi archivo de volcado, pero causó un error:
psql:psit.sql:27485: invalid command \N
¿Hay alguna solución? Busqué, pero no obtuve una respuesta clara.
sql
postgresql
dump
Vivek Vikranth
fuente
fuente
create table...
falla en el inicio, pero la carga continúa.(pg_restore ... | psql ...) 2>&1 | less
Voy al mismo mensaje de error cuando intento restaurar desde un volcado binario. Simplemente solía
pg_restore
restaurar mi volcado y evitar completamente los\N
errores, p. Ej.pg_restore -c -F t -f your.backup.tar
Explicación de los interruptores:
-f, --file=FILENAME output file name -F, --format=c|d|t backup file format (should be automatic) -c, --clean clean (drop) database objects before recreating
fuente
Sé que esta es una publicación anterior, pero encontré otra solución: postgis no estaba instalado en mi nueva versión, lo que me causó el mismo error en pg_dump
fuente
También me he encontrado con este error en el pasado. Pavel es correcto, generalmente es una señal de que algo en el script creado por pg_restore está fallando. Debido a todos los errores "/ N", no está viendo el problema real en la parte superior de la salida. Yo sugiero:
pg_restore --table=orders full_database.dump > orders.dump
)orders.dump
y eliminar un montón de registros)En mi caso, todavía no tenía instalada la extensión "hstore", por lo que el script fallaba en la parte superior. Instalé hstore en la base de datos de destino y volví a trabajar.
fuente
Puede generar su volcado utilizando sentencias INSERTS, con el parámetro --inserts.
fuente
Instale postgresql- (su versión) -postgis-scripts
fuente
Hoy me pasó lo mismo. Manejé el problema volcando con el comando --inserts.
Lo que hago es:
1) pg_dump con insertos:
2) psql (restaure su archivo volcado)
Nota-1) Asegúrese de que agregar el archivo de salida aumentará la velocidad de importación.
Nota-2) No olvide crear una tabla con exactamente el mismo nombre y columnas antes de importar con psql.
fuente
En mi experiencia reciente, es posible obtener este error cuando el problema real no tiene nada que ver con caracteres de escape o líneas nuevas. En mi caso, había creado un volcado de la base de datos A con
pg_dump -a -t table_name > dump.sql
e intentaba restaurarlo a la base de datos B con
psql < dump.sql
(después de actualizar los entornos adecuados, por supuesto)Lo que finalmente descubrí fue que el volcado, aunque era
data-only
(la-a
opción , para que la estructura de la tabla no sea parte explícita del volcado), era específica del esquema. Eso significaba que sin modificar manualmente el volcado, no podría usar un volcado generadoschema1.table_name
para rellenarschema2.table_name
. Modificar manualmente el volcado fue fácil, el esquema se especifica en las primeras 15 líneas más o menos.fuente
La mayoría de las veces, la solución es instalar el
postgres-contrib
paquete.fuente
Para mí, usando postgreSQL 10 en SUSE 12, resolví el
invalid command \N
error aumentando el espacio en disco. La falta de espacio en disco me estaba causando el error. Puede ver si no tiene espacio en el disco si observa el sistema de archivos al que irán sus datos en ladf -h
salida. Si el sistema de archivos / montaje se usa al 100%, después de hacer algo comopsql -f db.out postgres
(ver https://www.postgresql.org/docs/current/static/app-pg-dumpall.html ) probablemente necesite aumentar el espacio disponible en el disco .fuente
Tuve el mismo problema, creé una nueva base de datos y
invalid command \N
comencé a restaurar con psql. Lo resolví estableciendo el mismo espacio de tabla con la base de datos anterior.Por ejemplo, la copia de seguridad de la base de datos anterior tenía un espacio de tabla "pg_default", definí el mismo espacio de tabla para la nueva base de datos, ¡y el error anterior desapareció!
fuente
Seguí todos estos ejemplos y todos fallaron con el error del que estamos hablando:
Copie una tabla de una base de datos a otra en Postgres
Lo que funcionó fue la sintaxis con -C , mira aquí:
fuente