O PostgreSQL já suporta tipos de dados espaciais, operadores e indexação.
O que o PostGIS fornece exatamente o que tornou necessário existir como uma extensão do PostgreSQL?
Por que todos nós não usamos apenas a funcionalidade espacial do PostgreSQL?
Respostas:
Se você refazer o universo até o início de 2001, e não apenas permitir que os inventores do PostGIS vejam o futuro, mas também que o PSC do PgSQL veja o futuro, talvez o PostGIS seja uma série de patches no PgSQL. Mas, no mínimo, se tivéssemos começado como patches, a primeira coisa que teríamos de enfrentar é:
E o PgSQL principal teria dito: "não, é claro que não, as áreas têm uma semântica bem compreendida e não podemos fazer mudanças incompatíveis com versões anteriores".
Como desenvolvedores não essenciais, o PostGIS conseguiu eliminar os lançamentos mensais e semestrais por vários anos, enquanto o núcleo do PgSQL avançou junto com os lançamentos anuais e mais longos. Também pudemos adicionar os recursos que desejávamos, sempre, desde que tínhamos direitos de commit em nosso projeto, mas obter direitos de commit no PgSQL leva um tempo muito longo.
No momento em que o PostGIS estava demonstrando valor externo suficiente, o núcleo do PgSQL examinou e disse a si mesmo "huh, isso seria bom ter no núcleo como um recurso extra", já havia muito código de um padrão e estilo tão diferente PgSQL (para não mencionar sob uma licença incompatível) que a idéia de mesclar não era realmente possível.
Em vez disso, o PostGIS se tornou o exemplo canônico de uma Really Large Complex Extension que ajuda o PgSQL a permanecer modular e extensível. "Como isso afetará algo como o PostGIS" é uma pergunta frequentemente feita enquanto o PgSQL principal avalia algumas mudanças. Isso também é bom, talvez não tão bom quanto o PostGIS fazer parte do núcleo, mas bom o suficiente.
Existem outras razões, como a longa lista de dependências que o núcleo do PgSQL odiaria ver, a consistência geralmente mais baixa do código e a limpeza da API que eles teriam perdido o desejo de melhorar, e assim por diante. Mesmo na concepção, o PostGIS era muito grande para o PgSQL engolir em uma única mordida.
fonte
Isso simplesmente não é verdade, o PostgreSQL não suporta tipos de dados espaciais. Ele suporta tipos geométricos. Eles são perfeitamente adequados para algumas coisas, mas são totalmente separados dos sistemas de coordenadas do mundo real. Tipos nativos
Atualizar
Quanto à questão do índice, está no FAQ
fonte
A lista de recursos do PostGIS também expande esses recursos:
Além disso, aos pontos / partes mencionados já neste post. Eu adicionaria como mencionado no site do PostGIS Como funciona
fonte