Просторово включена база даних Postgres


12

Я намагаюся створити просторово включену базу даних PostGIS. Я стежу за документацією PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

У короткій версії я виконав,

createdb yourdatabase
createlang plpgsql yourdatabase

Але я не виконав останні три команди,

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

Моя база даних все ще просторово включена? Якщо ні, то можете ви сказати мені, де знаходяться ці .sql файли, щоб я міг виконати ці останні команди, оскільки я отримую таку помилку,

postgis.sql: No such file or directory

Я використовую Ubuntu 12.04


2
щоб знайти свій файл postgis.sql, запустіть "Знайти postgis.sql" з bash (без лапок).
Келсо

Відповіді:


14

У той час як ваша база даних технічно просторова в цей момент, ви працюєте лише з вбудованими типами геометрії pg.

Для завершення інсталяції вам потрібно запустити сценарії, як було запропоновано.

Ви можете знайти їх у своєму /usr/share/postgresql/[version number]/contrib/підкаталозі postgis.

Ви повинні побачити наступне:

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

18

Якщо у вас є Ubuntu 12.04, тоді у вас повинен бути PostgreSQL 9.1, що робить речі приголомшливими для PostGIS 2.0, де ви можете використовувати нову рамку EXTENSION. Щоб просторово включити базу даних, використовуйте DDL у вікні SQL:

CREATE EXTENSION postgis;

Дивіться інші подробиці встановлення PostGIS 2.0 з джерела для Ubuntu 12.04 тут .


Якщо ви використовуєте PostGIS 1.5, вам знадобляться сценарії активатора на "mydb", запустіть з оболонки:

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

я насправді зайшов /usr/share/postgresql/8.4/contrib/ і знайшов там файли
.sql

2
Для використання функцій геометрії, таких як ST_Transform та створення геометричних стовпців, користувачеві також знадобиться ГРАНТИЙ ВИБІР ВКЛЮЧЕНО просторовий_реф_ссис для публіки; ВИДАЛИТИ ВСЕ НА geometry_column TO <мій бажаний користувач>;
geekQ

1
Ви також можете запустити SELECT postgis_full_version();потім, щоб перевірити, чи база даних просторово включена.
XåpplI'-I0llwlg'I -
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.