Страница 1 из 1
Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 12:23
gamm
при попытке импорта базы EPSG в формате PostgreSQL
отсюда через PgAdmin (v.1.22.1), PostgreSQL v.9.5, использовалась консоль, psql 9.5.1, таблицы создались, ключи создались, но данные не импортируются (файлы я переименовал, консоль не позволяет делать копи/паст)
- ClipBoard.png (34.16 КБ) 9078 просмотров
Может, у кого-то есть опыт удачного импорта, поделитесь
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 12:27
KolesovDmitry
На всякий случай хочу уточнить -- цель импрортировать данные, или создать БД геоданных (т.е. инициализировать PostGIS)?
Если цель в инициализации PostGIS, то можно просто сделать
тогда произойдет иморт необходимых таблиц, в том числе и базы EPSG.
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 12:38
gamm
KolesovDmitry писал(а):На всякий случай хочу уточнить -- цель импрортировать данные, или создать БД геоданных (т.е. инициализировать PostGIS)?
PostGIS уже стоит, была тривиальная задача - найти конкретные параметры, Access ставить ради этого неохота. А что, в недрах PostGIS все уже есть?
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 13:12
Александр Мурый
Может, со
SQLite проще будет?
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 13:25
gamm
Александр Мурый писал(а):Может, со
SQLite проще будет?
проще с Access, там точно все работает (и у них даже в Ёкселе был вариант, нужно поискать). А SQLite у меня просто нет. Смущает, что это данные из официального источника - должны быть проверены ...
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 13:31
gamm
KolesovDmitry писал(а):то можно просто сделать
тогда произойдет иморт необходимых таблиц, в том числе и базы EPSG.
расширение создал, импорт не произошел.
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 14:24
Ariki
Точно не произошёл? Должна появиться таблица под названием spatial_ref_sys. Если нет, поищите в каталоге PostGIS SQL-файл с данными. Путь под Windows примерно такой: C:\Program Files\PostgreSQL\9.5\share\contrib\postgis-2.2\spatial_ref_sys.sql
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 17:40
gamm
Ariki писал(а):Точно не произошёл?
вопрос был про то, почему не идет импорт данных всей базы EPSG, мой ответ тоже про это. Интересует, удавалось ли кому-нибудь импортировать все 22 таблицы.
от таблицы с проекциями (которая от расширения) толку нет - в ней нет датумов, которые собственно и нужны.
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 19:35
Ariki
Мне лень регистрироваться у них, чтобы скачать данные и проверить самому, но убедитесь, что в SQL-файле строки таблицы epsg_namingsystem импортируются раньше, чем строки epsg_alias. Ещё в PostgreSQL можно отложить проверку ограничений, если завернуть всё в транзакцию и добавить в начале SET CONSTRAINTS ALL DEFERRED; Помогает, когда нужно импортировать таблицы, ссылающиеся друг на друга.
Что касается SQLite - это ведь встраиваемая БД, файл SQLite можно хоть QGIS'ом открыть и посмотреть или сконвертировать во что-нибудь.
Re: Ошибка импорта базы EPSGE
Добавлено: 12 май 2016, 20:35
gamm
Ariki писал(а):Ещё в PostgreSQL можно отложить проверку ограничений, если завернуть всё в транзакцию и добавить в начале SET CONSTRAINTS ALL DEFERRED; Помогает, когда нужно импортировать таблицы, ссылающиеся друг на друга.
тут именно такой случай, осталось понять, как завернуть в транзакцию.
попытка сказать
Код: Выделить всё
BEGIN TRANSACTION;
SET CONSTRAINTS ALL DEFERRED;
...
END TRANSACTION;
приводит к ошибке
ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются
Re: Ошибка импорта базы EPSGE
Добавлено: 13 май 2016, 12:09
Ariki
Скачал всё же данные, там оказалось вообще всё просто: определение внешних ключей вынесено в отдельный файл SQL, который нужно выполнить после создания таблиц и импорта всех данных.
Код: Выделить всё
createdb -U postgres epsg89
psql -d epsg89 -U postgres -f D:\data\coords\epsg-v8_9sql-PostgreSQL\EPSG_v8_9.mdb_Tables_PostgreSQL.sql
psql -d epsg89 -U postgres -f D:\data\coords\epsg-v8_9sql-PostgreSQL\EPSG_v8_9.mdb_Data_PostgreSQL.sql
psql -d epsg89 -U postgres -f D:\data\coords\epsg-v8_9sql-PostgreSQL\EPSG_v8_9.mdb_FKeys_PostgreSQL.sql
У меня всё работает.
Re: Ошибка импорта базы EPSGE
Добавлено: 13 май 2016, 12:31
gamm
Ariki писал(а):Скачал всё же данные, там оказалось вообще всё просто: определение внешних ключей вынесено в отдельный файл SQL, который нужно выполнить после создания таблиц и импорта всех данных.
ясно, спасибо
я сначала создавал таблицы, потом создавал ключи, потом грузил данные. Почему-то подумал, что так правильно
тему можно закрывать, сейчас попробуй найти, как ...