PostGIS kurulumu neden bir template_postgis oluşturmuyor?


36

PostgreSQL ve PostGIS kurulumu için bu rotaya gittim:

Şimdi pgAdmin'i başlatıp yeni bir PostGIS veritabanı oluşturmaya çalıştığımda, Template'te kullanım için template_postgis yok.


PostgreSQL paketini doğrudan PostgreSQL'den indiren başka bir yoldan gitmeyi denedim. Bu sunucuyu kurar ve PostGIS'i indirmek ve kurmak için StackBuilder'ı kullanmanıza izin verir. Bu benim sorunumu çözmedi.

Yanıtlar:


32

Otomatik olarak bulunmuyorsa şablonu kolayca oluşturabilirsiniz. Ubuntu için bir açıklama: http://obsessivecoder.com/2010/02/01/installing-postgresql-8-4-postgis-1-4-1-and-pgrouting-1-0-3-on-ubuntu 9-10-karmik-koala /

Bu temel kısımdır:

sudo su postgres
createdb template_postgis
createlang plpgsql template_postgis
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql

Hassas Pangolin'de:

sudo su postgres
createdb template_postgis
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

Garip .. 'createlang plpgsql postgistemplate' adımında bir $ "plpgsql" alıyorum zaten "postgistemplate" veritabanına kuruluyor ... ve sonra bir sonraki adımda psql: komut bulunamadı
Michael Markieta

Güncelleme - / usr / share / path içinde postgis dizini yok
Michael Markieta

O zaman sanırım OSX’te başka bir yere gizlenmiş. Dosyaları aramayı denedin mi?
underdark

Dosyalar bulundu, tüm kod satırları hatasız çalışıyor. Ancak pgAdmin3 hala şablonu göstermiyor ... Hrmm .. Bunun bir şeyleri değiştirip değiştirmeyeceğini görmek için Mac'imi yeniden başlattım, fakat hala nada. (garip ... Bu, Lion'a geçmeden önce
Mac'imde çalışıyordu

Şablonu oluşturmak için hangi kullanıcıyı kullandınız ve pgAdmin'de hangi kullanıcıyı kullanıyorsunuz?
underdark

29

Sürüm 2'den itibaren Postgis, uzatma sistemi kullanılarak etkinleştirilir. Bir veritabanını mekansal olarak etkinleştirmek için veritabanınıza giriş yapın ve ardından:

 CREATE EXTENSION postgis;
 CREATE EXTENSION postgis_topology;

kaynak: http://postgis.net/docs/postgis_installation.html

Not: Yalnızca SUPERUSERSroller oluşturma yeteneğine sahiptirEXTENSIONS


pgAdmin4'ten: Veritabanları >> {select db} >> Eklentiler >> -r-tıklayın >> Oluştur >> Listeden seç
matt wilkie

6

Benzer sorunlar yaşadım ve şu adresteki paketi yükleyerek sona erdi:

entreprisedb.com

kurulum aşamasında postayı kurmayı seçebilir veya daha sonra 'Uygulama Yığın Oluşturucu'yu arayabilirsiniz. Yükleme çalışmazsa, postgis yükleyicisini indirmek için başka bir klasör seçin (buna edb_postgis_1_5_pg91.app.zip gibi bir şey adı verilir). Zip paketini açın ve yükleyin. İşe yaramazsa, yeniden başlatmak ve yeniden denemek isteyebilirsiniz. PgAdmin III'de template_postgis görünmelidir.


3

Soru eski olabilir ama OS X Lion'da da aynı hatayla karşılaştım. Belki de cevabım başka bir kullanıcıya yardımcı olabilir.

PostGIS'in "yığın oluşturucu" ile varsayılan kurulumu başarısız olacaktır. Ancak ilk kurulum adımından sonra, PostGIS için indirme klasörünü seçebilirsiniz. Masaüstünüze indirin ve elle açın. Dosyayı çift tıklatarak, düzgün şekilde yüklenir. Postgis_template şimdi pgAdmin'de kullanılabilir.


1

PostGIS belgelerine göre, yalnızca

Bazı PostGIS paketlenmiş dağıtımları ... PostGIS işlevlerini template_postgis adlı bir şablon veritabanına yükler.

Yani her dağıtım gelmiyor template_postgis.

Mevcut cevaplarda da belirtildiği gibi, PostGIS 2.x'te, template_postgis superuser adlı bir düzenli veritabanı oluşturarak ve ardından istenen ve isteğe bağlı uzantıları (örneğin pgRouting) oluşturarak şablonu kendiniz oluşturmak veya özelleştirmek kolaydır . PostGIS belgelerine göre:

sudo su postgres
createdb template_postgis

psql -d template_postgis -c "CREATE EXTENSION postgis;"
psql -d template_postgis -c "CREATE EXTENSION postgis_topology;"

-- if you built with sfcgal support --
psql -d template_postgis -c "CREATE EXTENSION postgis_sfcgal;"

Buna ek olarak, ayarlayarak şablon veritabanı olarak bu yeni oluşturulan veritabanını işaretleyebilirsiniz datistemplatesistem tablosundaki bayrak pg_databaseiçin ture.

psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"

Bu, örneğin şablon veritabanının diğer kullanıcılar veya kendiniz tarafından yanlışlıkla düşürülmesini veya değiştirilmesini önleyecektir. (Şablonda değişiklik yapmak istiyorsanız, bayrağı yanlış olarak ayarlamanız gerekir.)

Ardından, şablona ne koyduğunuza dayanarak mekansal veritabanı oluşturabilirsiniz:

createdb -T template_postgis my_spatial_db
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.