Ответ 1
Использовать psql и перенаправить поток в файл:
psql -U <USER> -d <DB_NAME> -c "COPY <YOUR_TABLE> TO stdout DELIMITER ',' CSV HEADER;" > file.csv
Как экспортировать таблицу в .csv
в Postgres, когда я не суперпользователь и не могу использовать команду copy
?
Я могу по-прежнему импортировать данные в postgres с кнопкой "импорт" по правому клику, но без опции экспорта.
Использовать psql и перенаправить поток в файл:
psql -U <USER> -d <DB_NAME> -c "COPY <YOUR_TABLE> TO stdout DELIMITER ',' CSV HEADER;" > file.csv
COPY your_table TO '/path/to/your/file.csv' DELIMITER ',' CSV HEADER;
Для получения более подробной информации перейдите к руководству
Кроме того, что marvinorez предлагает в его ответе, вы можете сделать, от psql
:
\copy your_table TO '/path/to/your/file.csv' DELIMITER ',' CSV HEADER
С другой стороны, из pgadmin3
вы также можете открыть таблицу, щелкнув ее правой кнопкой мыши, а затем выбрав "Просмотр данных". Затем вы можете щелкнуть по верхнему левому углу таблицы (где строка имени столбца соединяется с столбцом номера строки, серым пустым квадратом), чтобы выбрать все строки. Наконец, вы можете скопировать с помощью Ctrl C или Edit → Copy в меню. Данные будут скопированы в буфер обмена в формате csv, разделенных точкой с запятой ;
.
Затем вы можете вставить его в LibreOffice Calc, MS Excel, чтобы отобразить, например.
Если ваша таблица большая (большая часть зависит от объема оперативной памяти вашего компьютера, между прочим), она может не вписаться в буфер обмена, поэтому в этом случае я бы не использовал этот метод, кроме первого (\копия).
Самый простой способ - это, по-моему, КОПИРОВАТЬ. Если вы не можете это сделать, как насчет использования pg_dump, а затем преобразовать выходной файл с sed, AWK или даже текстовым редактором? Это должно работать даже при поиске и замене в приемлемое время:)
У меня возникли проблемы с суперпользователем и запуском psql, я использовал простой глупый способ, используя PGAdmin III.
1) SELECT * FROM;
Перед запуском выберите "Запрос" в строке меню и выберите "Запрос в файл", Это сохранит его в папку по вашему выбору. Возможно, придется играть с настройками о том, как экспортировать, ему нравится цитирование и.
2) SELECT * FROM;
выполните нормально, а затем сохраните вывод, выбрав экспорт в меню "Файл". Это будет сохраняться как .csv
Это не подходит для больших таблиц. Таблицы, которые я сделал для этого, составляют несколько 100 000 строк и 10-30 столбцов. У больших таблиц могут быть проблемы.