скопировать результат из PostgreSQL - PullRequest
7 голосов
/ 02 июня 2011

Я копирую каждый результат Query (приложение pgAdmin) в Лист Google Doc. Мне интересно, можно ли в Postgress установить вкладку вместо точки с запятой (;) для разделения значений в столбцах - я хотел бы просто скопировать и вставить из postgres на лист Google Doc.

Если это невозможно, можно ли написать макрос на листе Google Doc?

Я хотел бы задать еще один вопрос - как я могу разделить два значения, которые я получаю, используя команду select (и как требовать от Postgres SQL хранить значения, например, double)

Ответы [ 8 ]

4 голосов
/ 12 февраля 2014

Теперь можно настроить PgAdmin для копирования / вставки с помощью Tab в качестве разделителя полей вместо;

Из главного окна PgAdmin:

  • Файл
  • Параметры
  • Раздел Query Tool
    • Область сетки результатов
      • Нажмите вниз рядом с "Разделителем полей копирования результатов"
      • Выберите "Tab" из списка выбора

Screenshot of PgAdmin Options screen

Возможно, вам придется перезапустить PgAdmin, чтобы это вступило в силу.Идеально подходит для вставки непосредственно в таблицы Google!

Что касается вопроса о делении, то если вы просто разделите два числа, вы не всегда получите то, что ожидаете - целые числа не делятся автоматически и становятся результатом с плавающей точкой -вы должны разыграть их:

select 1::numeric/2::numeric

Это возвращает 0.50

Принимая во внимание:

select 1/2

Возвращает 0 (обычно не то, что вы хотите)

4 голосов
/ 02 июня 2011

Используйте способность export .

1 голос
/ 13 января 2018

Поскольку JDBC в скрипте приложений еще не поддерживает Postgres (по какой-то причине), вы не можете написать это непосредственно в Google Sheets. Вы можете определенно написать это API Листов Google и выбранный вами язык (например, Python и Pandas делают это относительно простой задачей).

Если вы не хотите внедрять собственное решение, проверьте SeekWell . Это позволяет подключаться к базам данных и писать запросы SQL непосредственно в Sheets. Вы можете создать «Run Sheet», который будет запускать несколько запросов одновременно и запланировать выполнение этих запросов, даже не открывая Sheet.

Отказ от ответственности : я сделал это.

1 голос
/ 09 июля 2017

В PGAdmin 4 вы можете добиться этого, выполнив SQL-запрос, а затем нажмите F8, и он экспортирует результаты запроса.

Шаг 1: enter image description here

Шаг 2: Теперь выберите результат запроса и щелкните результат запроса загрузки в формате CSV, как показано ниже:

enter image description here

Шаг 3: Проверьте результат запроса

enter image description here

Все готово.

1 голос
/ 02 июня 2011

Сохраните вывод COPY или \copy как файл .tsv и загрузите его, используя File / Import.В качестве альтернативы вы можете использовать формат CSV таким же образом.

1 голос
/ 02 июня 2011

psql может сделать это несколькими способами:

% psql -At -F, -c 'SELECT * FROM my_table'
1,login,http://stackjet.com/login
2,mod3,https://127.0.0.1:5000/mod3/
3,mod2,http://127.0.0.1:5000/mod2/
4,logout,https://127.0.0.1:5000/logout

Экранирование - проблема с этой схемой.COPY ваш друг.

1 голос
/ 02 июня 2011

Может быть, что-то подобное может быть полезным:)

select relname || chr(9) || reltype || chr(9) || relam from pg_class
0 голосов
/ 08 сентября 2017

Я выполняю ваши вставки / интерполяции с использованием vanilla SQL, а затем использую инструмент, подобный QueryClips , чтобы получить ваши данные на листе Google.

...