Ошибка импорта базы EPSGE
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Ошибка импорта базы EPSGE
при попытке импорта базы EPSG в формате PostgreSQL отсюда через PgAdmin (v.1.22.1), PostgreSQL v.9.5, использовалась консоль, psql 9.5.1, таблицы создались, ключи создались, но данные не импортируются (файлы я переименовал, консоль не позволяет делать копи/паст)
Может, у кого-то есть опыт удачного импорта, поделитесь
Последний раз редактировалось gamm 13 май 2016, 12:33, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
На всякий случай хочу уточнить -- цель импрортировать данные, или создать БД геоданных (т.е. инициализировать PostGIS)?
Если цель в инициализации PostGIS, то можно просто сделать
тогда произойдет иморт необходимых таблиц, в том числе и базы EPSG.
Если цель в инициализации PostGIS, то можно просто сделать
Код: Выделить всё
CREATE EXTENSION postgis
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
PostGIS уже стоит, была тривиальная задача - найти конкретные параметры, Access ставить ради этого неохота. А что, в недрах PostGIS все уже есть?KolesovDmitry писал(а):На всякий случай хочу уточнить -- цель импрортировать данные, или создать БД геоданных (т.е. инициализировать PostGIS)?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
проще с Access, там точно все работает (и у них даже в Ёкселе был вариант, нужно поискать). А SQLite у меня просто нет. Смущает, что это данные из официального источника - должны быть проверены ...Александр Мурый писал(а):Может, со SQLite проще будет?
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
расширение создал, импорт не произошел.KolesovDmitry писал(а):то можно просто сделатьтогда произойдет иморт необходимых таблиц, в том числе и базы EPSG.Код: Выделить всё
CREATE EXTENSION postgis
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Ошибка импорта базы EPSGE
Точно не произошёл? Должна появиться таблица под названием spatial_ref_sys. Если нет, поищите в каталоге PostGIS SQL-файл с данными. Путь под Windows примерно такой: C:\Program Files\PostgreSQL\9.5\share\contrib\postgis-2.2\spatial_ref_sys.sql
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
вопрос был про то, почему не идет импорт данных всей базы EPSG, мой ответ тоже про это. Интересует, удавалось ли кому-нибудь импортировать все 22 таблицы.Ariki писал(а):Точно не произошёл?
от таблицы с проекциями (которая от расширения) толку нет - в ней нет датумов, которые собственно и нужны.
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Ошибка импорта базы EPSGE
Мне лень регистрироваться у них, чтобы скачать данные и проверить самому, но убедитесь, что в SQL-файле строки таблицы epsg_namingsystem импортируются раньше, чем строки epsg_alias. Ещё в PostgreSQL можно отложить проверку ограничений, если завернуть всё в транзакцию и добавить в начале SET CONSTRAINTS ALL DEFERRED; Помогает, когда нужно импортировать таблицы, ссылающиеся друг на друга.
Что касается SQLite - это ведь встраиваемая БД, файл SQLite можно хоть QGIS'ом открыть и посмотреть или сконвертировать во что-нибудь.
Что касается SQLite - это ведь встраиваемая БД, файл SQLite можно хоть QGIS'ом открыть и посмотреть или сконвертировать во что-нибудь.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
тут именно такой случай, осталось понять, как завернуть в транзакцию.Ariki писал(а):Ещё в PostgreSQL можно отложить проверку ограничений, если завернуть всё в транзакцию и добавить в начале SET CONSTRAINTS ALL DEFERRED; Помогает, когда нужно импортировать таблицы, ссылающиеся друг на друга.
попытка сказать
Код: Выделить всё
BEGIN TRANSACTION;
SET CONSTRAINTS ALL DEFERRED;
...
END TRANSACTION;
ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Ошибка импорта базы EPSGE
Скачал всё же данные, там оказалось вообще всё просто: определение внешних ключей вынесено в отдельный файл 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
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Ошибка импорта базы EPSGE
ясно, спасибоAriki писал(а):Скачал всё же данные, там оказалось вообще всё просто: определение внешних ключей вынесено в отдельный файл SQL, который нужно выполнить после создания таблиц и импорта всех данных.
я сначала создавал таблицы, потом создавал ключи, потом грузил данные. Почему-то подумал, что так правильно
тему можно закрывать, сейчас попробуй найти, как ...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей