У меня есть файл * .dump (postgresql dump), и я хотел бы выводить my_table
в my_table.csv
. Есть ли лучший способ сделать это, чем pg_restore -t my_table db.dump > my_table.txt
, а затем написать скрипт для создания CSV с выхода?Как извлечь таблицу из файла * .dump в CSV
3
A
ответ
4
Выходной сигнал от pg_restore --data-only -t my_table db.dump
в основном составляет с разделителем без заголовка с таблицами с некоторыми комментариями и несколькими дополнительными командами. Сценарий, чтобы калечить его в csv с помощью инструмента, такого как perl
или awk
, будет довольно простым.
Это говорит, лично я бы:
Восстановить таблицу временной базы данных, созданной для этой цели. Если таблица зависит от пользовательских типов, функций, последовательностей и т. Д., Вам также нужно будет их восстановить.
psql
В,\copy the_table TO 'some_file.csv' WITH (FORMAT CSV, HEADER ON)
Таким образом, вы можете control the representation of nulls and lots more.
Для меня лучшим способом было бы восстановить таблицу в базе данных, а затем «КОПИРОВАТЬ» таблицу в CSV. –
Не могли бы вы предоставить шаги для этого? –