2016-07-22 3 views
0

Я импортировать файлы формы в Postgresql с помощью этой команды:Могу ли я установить search_path при импорте файла формы с ogr2ogr из GDAL?

ogr2ogr PG:host=localhost dbname=someDbName user=someUserName password=somePassword shapeFile.shp -nln alternateLayerName -nlt someValidGeometry

Это хорошо работает, но идет в public схеме в Postgresql. Я бы хотел выбрать другую схему. Есть ли способ достичь этого с помощью ogr2ogr?

В man ogr2ogr нет ссылки Схема. Мой веб-поиск также не был плодотворным.

Я знаю, что могу сделать ALTER TABLE some_table set schema a_different_schema, но это означало бы добавление еще одного шага к процессу.

$ ogr2ogr --version GDAL 2.1.0, released 2016/04/25

ответ

1

После лучшего веб-поиска я нашел на GDAL pg driver documentation, что можно использовать ACTIVE_SCHEMA=string: Active schema., чтобы установить схему, где будет создана таблица.

Я пробовал так:

ogr2ogr -f "PostgreSQL" PG:"dbname=mydb active_schema=layers" country.shp -nln test_table -nlt MULTILINESTRING

И жалуется:

ERROR 1: PQconnectdb failed: invalid connection option "active_schema"

Но таблица получает создается и заполняется должным образом. Поэтому я думаю, все в порядке.

+0

Кажется, на самом деле, что ошибка не следует сообщать, потому что импортируется нормально. –

0

Я нашел лучшее решение, используя lco вариант:

ogr2ogr -f PostgreSQL "PG:host=localhost port=5432 dbname=some_db 
user=postgres password=" someShapeFile.shp -nln desiredTableName 
-nlt someValidGeometry -lco SCHEMA=desiredPostgresqlSchema