Baza danych Postgres włączona przestrzennie

12

Próbuję utworzyć przestrzennie włączoną bazę danych PostGIS. Postępuję zgodnie z dokumentacją PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

W krótkiej wersji wykonałem

createdb yourdatabase
createlang plpgsql yourdatabase

Ale nie wykonałem ostatnich trzech poleceń,

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql

Czy moja baza danych jest nadal włączona przestrzennie? Jeśli nie, to czy możesz mi powiedzieć, gdzie znajdują się te pliki .sql, abym mógł wykonać ostatnie polecenia, ponieważ pojawia się następujący błąd,

postgis.sql: No such file or directory

Używam Ubuntu 12.04

Sam007
źródło
2
aby znaleźć plik postgis.sql, uruchom „zlokalizuj postgis.sql” z bash (bez cudzysłowów).
Kelso

Odpowiedzi:

14

Chociaż baza danych jest technicznie przestrzenna w tym momencie, będziesz pracować tylko z wbudowanymi typami geometrii pg.

Aby ukończyć instalację, musisz uruchomić skrypty zgodnie z sugestią.

Możesz je znaleźć w swoim /usr/share/postgresql/[version number]/contrib/podkatalogu postgis.

Powinieneś zobaczyć następujące elementy:

legacy_minimal.sql    postgis_upgrade_20_minor.sql    spatial_ref_sys.sql
legacy.sql            raster_comments.sql             topology_comments.sql
postgis_comments.sql  rtpostgis_legacy.sql            uninstall_legacy.sql
postgis_restore.pl    rtpostgis.sql                   uninstall_postgis.sql
postgis.sql           rtpostgis_upgrade_20_minor.sql  uninstall_rtpostgis.sql
nagytech
źródło
18

Jeśli masz Ubuntu 12.04, powinieneś mieć PostgreSQL 9.1, co czyni niesamowite rzeczy PostGIS 2.0, w którym możesz używać nowej ramy EXTENSION. Aby przestrzennie włączyć bazę danych, użyj DDL z okna SQL:

CREATE EXTENSION postgis;

Zobacz inne szczegóły dotyczące instalowania PostGIS 2.0 ze źródła dla Ubuntu 12.04 tutaj .


Jeśli używasz PostGIS 1.5, będziesz potrzebować skryptów aktywujących na „mydb”, uruchamianych z powłoki:

sudo -u postgres createdb mydb
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis_comments.sql
Mike T.
źródło
faktycznie zrobiłem /usr/share/postgresql/8.4/contrib/ i znalazłem tam pliki
.sql
2
Do korzystania z funkcji geometrii, takich jak ST_Transform i tworzenia kolumn geometrii, użytkownik będzie również potrzebował GRANT SELECT ON spatial_ref_sys TO PUBLIC; UDZIELAJ WSZYSTKICH na geometry_columns TO <mój pożądany użytkownik>;
geekQ
1
Możesz także uruchomić SELECT postgis_full_version();później, aby sprawdzić, czy baza danych jest włączona przestrzennie.
XåpplI'-I0llwlg'I -