PostgreSQL экспорт и импорт отдельных таблиц
Создадим директорию для экспорта
$ mkdir export_tables
$ chown postgres:postgres export_tables/ ; chmod 755 export_tables/
Для экспорта/импорта стоит установить параметр client_encoding = UTF8 в postgresql.conf
Создана таблица
$ psql
select * from exp_example;
exp1 | exp2 | exp3
----------+------+----------
example1 | 1 | example2
(1 row)
Экспорт данных таблицы
copy exp_example to '/home/export_tables/exp_example.csv';
COPY 1
Очистим таблицу
truncate table exp_example;
TRUNCATE TABLE
select * from exp_example;
exp1 | exp2 | exp3
------+------+------
(0 rows)
Импорт данных таблицы
copy exp_example from '/home/export_tables/exp_example.csv';
COPY 1
select * from exp_example;
exp1 | exp2 | exp3
----------+------+----------
example1 | 1 | example2
(1 row)
Экспорт отдельных колонок
copy exp_example(exp2, exp3) to '/home/export_tables/exp_example(exp2,exp3).csv';
Импортируем аналогично
copy exp_example(exp2, exp3) from '/home/export_tables/exp_example(exp2,exp3).csv';
Экспорт с разделителем запятая
copy exp_example to '/home/export_tables/exp_example_delimeter.csv' with delimiter ',';
Экспорт с использованием запроса
copy (select exp1 from exp_example) to '/home/export_tables/exp_example_select';