1

Я ищу способ получить данные Ergast в PostgreSQL. Я думал о написании некоторого кода для извлечения данных из API, но есть дампы SQL для MySQL и ANSI, но ни один из них не работает на PostgreSQL.

Я бы предпочел не импортировать в MySQL для экспорта в CSV ... Есть ли способ лучше?

2 ответа2

2

Я играл с этим для презентации, которую я могу сделать, и у меня есть быстрое хакерское решение с использованием некоторых базовых инструментов UNIX ... Это довольно забавно, но работает.

cat  f1db_ansi.sql | sed 's/int(..)/int/' | sed 's/ \+AUTO_INCREMENT//' |  sed "s/\\\'/\'\'/g" |  sed 's/UNIQUE KEY \"\(\w\+\)\"/UNIQUE /' | sed 's/^ *KEY .*(\"\(.*\)\")/CHECK ("\1" > 0)/' | sed 's/ date NOT NULL DEFAULT .0000.*,/ date,/'| psql -h 127.0.0.1 -U postgres -d f1 -q -b

Где f1db_ansi.sql - дамп данных ANSI SQL с сайта.

Это верно по состоянию на 25 июля 2017 года.

1

Вы можете следовать этому руководству, как использовать pgloader из mysql: https://github.com/dimitri/pgloader/blob/master/docs/tutorial/mysql.rst

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .