Istnieje kilka automatycznych rzutów do i z geometry typ.
Możesz wpisać \dC w PostgreSQL i zobaczysz wszystkie dostępne rzutowania, w tym:
List of casts
Source type | Target type | Function | Implicit?
-------------------------+-----------------------------+--------------------+---------------
text | geometry | geometry | yes
Informacje te są również dostępne w dokumentacji lub w tym samouczku .
Ponieważ rzutowanie jest niejawne, oznacza to, że nie musisz go określać, aby go użyć. Zwróć uwagę, że możesz to „wymusić” za pomocą ::geometry :
select st_asText('SRID=4326;POLYGON((0 0,1 0,1 1,0 1,0 0))'::geometry);
st_astext
--------------------------------
POLYGON((0 0,1 0,1 1,0 1,0 0))
(1 row)
Jeśli chodzi o użyteczność kolumny, kolumna jest typu geometry więc wszystko, co znajduje się w tej kolumnie, jest geometry i może być używany przez dowolną funkcję wymagającą geometry . Sposób, w jaki dane się tam dostały (automatyczne odlewanie, konwersja, ekstrakcja z innej geometrii itp.) nie ma już znaczenia.