Saya mengikuti tutorial untuk menginstal pgrouting. Namun, saya tidak mendapatkan bagian ketika dikatakan
Mulai pgAdmin dan buat database baru berdasarkan templat PostGIS Anda
Di mana saya bisa mendapatkan templat postgis ini? Saya tahu saya telah menginstal PostGIS menggunakan homebrew. Tetapi saya tidak dapat menemukan templatnya. Saya menjalankan makro sekarang.
Jawaban:
Metode Baru Dengan PostgreSQL 9.1
Berkat saran RK di bawah ini, saya melihat tutorial ini dan menemukan bahwa untuk PostgreSQL 9.1 yang perlu Anda lakukan adalah menambahkan ekstensi
postgis
danpostgis_topology
ke database yang ada menggunakan menu konteks pgAdmin. Untuk membuat template postgis, saya membuat database baru yang disebuttemplate-postgis
dan kemudian menambahkan ekstensi ini. Saya kemudian membuat database saya yang lain menggunakan templat ini. Saat menggunakanpg_dump
saya menemukan ukuran ekspor jauh lebih kecil, karena tampaknya hanya menyertakan garis-garis ini dan tidak membuang fungsi ekstensi:Metode Redundan Lama:
Saya akhirnya menggunakan file .sql di sini:
Juga, saya mendapatkan kesalahan ini ketika saya mengimpor database PostGIS yang ada ke database baru yang dibuat dari template ini:
Jadi saya mengikuti instruksi di sini dan digunakan
ON_ERROR_ROLLBACK=on
untuk mengatur template, setelah membuat database kosong yang disebut "template_postgis":Dan kemudian mengimpor db cadangan saya, misalnya:
Metode yang lebih tua:
Saya melakukan ini:
Path ke
postgis--2.0.1.sql
akan berbeda tergantung pada pengaturan Anda.sumber
Jika Anda menjalankan PostgreSQL 9.1+, Anda tidak perlu repot dengan database templat . Cukup buat database dan kemudian pada tampilan SQL di pgAdmin, ketik dan jalankan
Itu akan secara spasial mengaktifkan basis data Anda.
sumber
CREATE EXTENSION postgis_topology;
CREATE EXTENSION
membutuhkan hak akses superuser, jadi sebenarnya membuat / menggunakan template mungkin ide yang sangat bagus.sebenarnya ini adalah dasar dari instalasi postgis.
jika Anda memiliki template postgis, Anda dapat membuat database baru dari itu sebagai:
jika Anda tidak memilikinya, Anda dapat melakukannya dengan cara ini:
Anda dapat menggunakan skrip bash Debian / Ubuntu - create_template_postgis-debian.sh, di sini
Saya harap ini membantu Anda ...
sumber
postgres
tidak memiliki izin untuk menggunakan terminal, dalam hal inisudo su postgres
perintah akan gagal secara diam-diam. Untuk melewati ini Anda dapat mendahului semua perintah ini dengansudo -u postgres
menjalankan perintah sebagai pengguna postgres tanpa beralih ke pengguna postgres.Sejauh yang saya ingat ada beberapa skrip yang tersedia untuk lokakarya untuk membuat database templat tersebut. Ini juga tersedia di sini: https://github.com/pgRouting/pgrouting-contrib/blob/master/scripts/create_templates.sh
Akhirnya Anda perlu mengubah beberapa hal di sana-sini, karena itu ditulis untuk bekerja untuk Debian / Ubuntu. Tapi Anda bisa memilih apa yang Anda butuhkan.
sumber
Saya menggunakan skrip bash ini untuk mengeksekusi pembuatan database baru dengan postgis diaktifkan dan nama diberikan pada stdin.
Postgres 9.3
PostGIS 2.1.3
sumber