Bayu Kurniawan R

Think about GIS, Linux and Oracle

Compile PostgreSQL/PostGIS

PostgreSQL/PostGIS

PostGIS (http://postgis.refractions.net)

PostGIS merupakan plugin untuk database PostgreSQL yang berfungsi untuk menyimpan dan melakukan analisis data geospasial. Fungsi dan kegunaannya sama dengan SDE (Spatial Data Engine) ESRI dan Oracle Spasial.

Untuk menginstall database PostgreSQL/PostGIS terlebih dahulu kita harus mengcompile komponen pendukungnya yaitu : PROJ dan GEOS.

Proj

Proj4 (http://proj.maptools.org) – Cartographic Projections Library

Library untuk proyeksi peta, menyediakan lebih dari 100 macam proyeksi.

Geos

GEOS (http://geos.refractions.net) – Geometry Engine Open source

Library untuk topology data vektor.

Compile Proj

Buka console/terminal untuk memulai installasi

Pindah ke direktori dimana file aplikasi disimpan

Ekstract file PROJ dengan mengetikkan

tar -xvf proj-[versi aplikasi].tar.gz

Pindah ke dalam folder aplikasi proj dengan mengetikkan perintah

cd proj-[versi aplikasi]/

Compile aplikasi dengan mengetikkan perintah

./configure

make

make install

Compile Geos

Buka console/terminal untuk memulai installasi

Pindah ke direktori dimana file aplikasi disimpan

Ekstract file Geos dengan mengetikkan

tar -xvf geos-[versi aplikasi].tar.gz

Pindah ke dalam folder aplikasi Geos dengan mengetikkan perintah

cd geos-[versi aplikasi]/

Compile aplikasi dengan mengetikkan perintah

./configure

make

make install

Tambahkan baris /usr/local/lib pada file /etc/ld.so.conf

/sbin/ldconfig

Compile PostgreSQL

Buka console/terminal untuk memulai installasi

Pindah ke direktori dimana file aplikasi disimpan

Ekstract file PostgreSQL dengan mengetikkan

tar -xvf postgresql-[versi aplikasi].tar.gz

Pindah ke dalam folder aplikasi PostgreSQL dengan mengetikkan perintah

cd postgresql-[versi aplikasi]/

Compile aplikasi dengan mengetikkan perintah

./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test

/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data

createlang plpgsql [yourdatabase]
psql -d [yourdatabase] -f lwpostgis.sql
psql -d [yourdatabase] -f spatial_ref_sys.sql

Tags: , , ,

Posted in PostgreSQL.

6 comments

6 Replies

  1. Bro, tulungin saya donk….

    Mau nanya, dalam instalasi ini, Linux yg digunakan versi apa ? PostgreSQL versi apa ? GEOS versi berapa ? dan PROJ versi berapa ?

    soalnya saya pusing udah 3 hari install postgis ga berhasil2,
    saya pake Centos 5.0 (centos-5-i386-lxadmin-hostinabox di VPS), POSTGRESQL v8.3.3 pernah ke 8.1.1 dan 8.2.5, GEO 3.0.0 PROJ 4.6.0.
    Ini langkah2 saya:

    1. install postgress : yum -y install postgresql postgresql-devel postgresql-contrib postgresql-server —> DONE
    2. install proj4 –> DONE
    3. install geos 3.0 –> DONE
    4. Start Postgresql : service postgresql start —> DONE
    5. su - postgres
    6. Create database test
    7. createlang plpgsql test
    8. At this step i got error, when type type : psql -d test -f lwpostgis.sql

    Error :
    psql:lwpostgis.sql:44: NOTICE: type “histogram2d” is not yet defined
    DETAIL: Creating a shell type definition.
    psql:lwpostgis.sql:44: ERROR: could not access file “$libdir/liblwgeom”: No such file or directory
    psql:lwpostgis.sql:50: ERROR: current transaction is aborted, commands ignored until end of transaction block
    psql:lwpostgis.sql:56: ERROR: current transaction is aborted, commands ignored until end of transaction block
    psql:lwpostgis.sql:62: ERROR: current transaction is aborted, commands ignored until end of transaction block
    ……

    saya pikir ini karena file library liblwgeom*.* ga ada, maka saya copy dari /usr/lib/psql/liblw*.* ke /usr/local/pgsql/lib

    tapi hasilnya malah :

    ….
    ERROR: incompatible library
    “/usr/local/pgsql/lib/liblwgeom.so.1.2″: missing magic block INT: Extension libraries are required to use the
    PG_MODULE_MAGIC
    ……

    Saya juga udah coba dg kompilasi ulang postgresql dg ./configure & make & make install, tapi ga ngaruh…udah coba juga postgresql versi tua 7.2.X tapi tetep begitu juga…pusing..

    Paling tidak, beritahu saya OS yg bro gunakan beserta versi2 dari POSTGIS, GEOS, POSTGRESQL….

    Terimakasih atas pertolongannya…Tuhan aja yg membalas…

  2. udah nanya ke milis mereka, ga dibales2…

  3. bayu_kr Aug 23rd 2008

    aku pernah compile di Ubuntu, RHEL 5, sama SUSE 9
    ya,, aku juga pernah ngalamin persoalan diatas,, itu dikarenakan GEOS nya masih error, coba compile ulang GEOS sampai benar lalu jangan lupa untuk :

    Tambahkan baris /usr/local/lib pada file /etc/ld.so.conf
    lalu ketik
    /sbin/ldconfig

  4. udah nambahin /usr/local/lib pada file /etc/ld.so.conf
    dan ketik /sbin/ldconfig
    plus ngikutin step by step di blog ini
    tapi…

    Ga berhasil juga bro, yg saya ga ngerti kenapa liblwgeom.* ga dicopy otomatis ke /usr/local/lib, dan /usr/pgsql/lib ? soalnya saya copy manual dari sourcenya postgis, tapi hasilnya malah :

    psql:lwpostgis.sql:44: NOTICE: type “histogram2d” is not yet defined
    DETAIL: Creating a shell type definition.
    psql:lwpostgis.sql:44: ERROR: incompatible library “/usr/local/pgsql/lib/liblwgeom.so”: missing magic block
    HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.
    ….

    Begini aja bro, kalo masih inget, yg instalasi Postgis nya Berhasil/Sukses, itu OS linuxnya apa ? juga versi dari postgis,geos,proj dan postgresnya ?

    terimakasih banyak sebelumnya.

  5. Saya pake centos 5.0, postgres 8.2.5, postgis 1.3.3, proj 4.6.0 dan geos 3.0.0. Apa salahnya di OS ya ?

  6. Butuh bantuan
    saya mengalami error yg sama :
    psql:C:/Program Files/PostgreSQL/8.3/share/contrib/lwpostgis.sql:53: NOTICE: type “histogram2d” is not yet defined
    DETAIL: Creating a shell type definition.
    psql:C:/Program Files/PostgreSQL/8.3/share/contrib/lwpostgis.sql:53: ERROR: could not access file “$libdir/liblwgeom”: No such file or directory

    system saya : Windows XP SP2, Postgre 8.3.5.2, Postgis 1.3.5.

    Ada yg pernah mengalami error yg saman ?

    trims.
    tolong japri ke yocki@hotmail.com / tongkimongki@yahoo.com


Leave a Reply