Eu quero importar um arquivo shp para o postgreSQL. Primeiro, crio o arquivo sql e depois executo o PostgreSQL. Para criar um arquivo sql, eu executo este comando no windows cmd:
shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql
e então execute:
psql -d postgres -U postgres -p 4321 -f worldcountries.sql
mas o resultado é:
psql: worldcountries.sql: 21: ERRO: a função addGeometrycolumn (desconhecido, desconhecido, desconhecido, desconhecido, desconhecido, número inteiro) não existe
postgis
shapefile
postgresql
import
Morteza Malvandi
fonte
fonte
"CREATE EXTENSION postgis;"
postgis.net/docs/… .O
ERROR: function addGeometrycolumn(unknown, unknown, unknown, unknown,unknown, integer) does not exist
que significa que a extensão postgis não está instalada no seu postgresql . Vá aqui e instale-o.fonte
Você pode usar o plug-in de importação de compilação instalado ao instalar a extensão PostGis no PostgreSQL. Você pode encontrá-lo em Plugins no menu e é chamado de carregador PostGIS Shapefile e DBF.
assista a este vídeo do youtube como um exemplo
fonte
Você tem uma projeção diferente no seu psql; e ter uma projeção não é necessário. Existe um esquema ao qual você deseja adicionar o arquivo de formas?
Isso deve funcionar:
fonte
-p
parapsql
informa a porta do servidor, não a projeção. A projeção fica incorporada no script SQL. Veja o manual fino parapsql
o comportamento de. Nesse caso, a porta especificada pelo OP não é a porta padrão, portanto é necessária. Eu também geralmente desaconselharia o armazenamento de uma forma sem projeção. Isso limita sua capacidade de alterar projeções, o que pode ser útil para obter cálculos mais precisos.