Как импортировать файл.csv в базу данных Hasura PostgreSQL?

У меня есть данные в файле.csv, которые я хочу импортировать в экземпляр базы данных PostgreSQL моего кластера Hasura. Какой лучший способ сделать это?

3 ответа

1) Перенаправьте порт Hasres Postgres на локальный порт и сохраните его в одном окне терминала:

$ hasura microservice port-forward postgres -n hasura --local-port 6432

2) Создать table_name с соответствующей схемой для поглощения ваших данных CSV; используйте psql для потоковой передачи данных на postgres. Выполните это другое окно терминала:

$ psql -h localhost -p 6432 -d hasuradb -U admin -c \
  "copy table_name from STDIN with delimiter as ',';" \
  < /path/to/file.csv

Вы будете иметь данные из файла CSV внутри таблицы table_name

Добавляю сюда свой ответ для справки. При развертывании Hasura в Heroku мы можем получить временные учетные данные для базы данных Postgres, открыв надстройку Postgres из панели управления ресурсами Heroku. Затем вы можете получить доступ к базе данных напрямую, используя URL-адрес, указанный на вкладке настроек.

psql 'postgres://UUUUUU:PPPPP@ec2-54-247-72-30.eu-west-1.compute.amazonaws.com:5432/DBNAME'

Затем в консоли Postgres вы можете сделать что-то вроде:

\copy countryinfo from 'countryinfo.csv' with delimiter as E'\t';

Вышеупомянутое для файла с разделителями табуляции, загруженного с Geonames.org. Примечание: я удалил строки комментариев перед вводом.

Вы можете использовать pgAdmin , чтобы упростить задачу. Подключитесь к своему экземпляру postgres, затем перейдите к «Импорт/экспорт данных» в меню «Инструменты» после выбора нужной таблицы на левой боковой панели.

Выберите файл .csv и нажмите «ОК».

Теперь все ваши данные должны быть успешно импортированы.

Другие вопросы по тегам