Il pg_dump
il comando viene eseguito in activerecord/lib/active_record/railties/databases.rake alla riga 428
.
`pg_dump -i -s -x -O -f #{Shellwords.escape(filename)} #{search_path} #{Shellwords.escape(config['database'])}`
Prova a impostare un punto di interruzione lì e vedere quale comando viene eseguito.
Tutte queste opzioni sono valide per Pg9.0.x, quindi sospetto che ci sia qualcosa di divertente in abcs[Rails.env]['schema_search_path']
che confonde l'analisi delle opzioni di psql. Nota il search_path
costruzione non cita lo --schema
argomento, quindi un search_path_part
con uno spazio incorporato analizzerà come un nome di schema parziale seguito da una parola che non è preceduta da un'opzione, quindi psql lo interpreterà come un nome di database, quindi si lamenterà quando arriverà al nome del database reale in seguito.