Tag Archives: postgresql

Membuat Template PostGIS

PostGIS sangat powerfull untuk mendukung aplikasi pemetaan atau Geographic Information System (GIS). Seringkali kita males repot-repot konfigurasi postgis dalam database yang kita buat. Nah, untuk memudahkan ketika membuat database yang otomatis terkonfigurasi postgis, kita perlu membuat template database berkarakteristik postgis. Cara ini digunakan untuk postgis versi 2 ke atas.

Begini caranya:

  1. Masuk ke terminal konsol
  2. Masuk sebagai user postgres:

    $su – postgres

  3. Buat template postgis

    $createdb -E UTF8 template_postgis2
    $createlang -d template_postgis2 plpgsql
    $psql -d postgres -c “UPDATE pg_database SET datistemplate=’true’ WHERE datname=’template_postgis2′;”
    $psql -d template_postgis2 -c “CREATE EXTENSION postgis;”
    $psql -d template_postgis2 -c “GRANT ALL ON geometry_columns TO PUBLIC;”
    $psql -d template_postgis2 -c “GRANT ALL ON geography_columns TO PUBLIC;”
    $psql -d template_postgis2 -c “GRANT ALL ON spatial_ref_sys TO PUBLIC;”

  4. Siap untuk membuat database dengan template postgis:

    $createdb namadatabase -T template_postgis2

     

Nah, kita sekarang sudah mempunyai database ‘namadatabase’ yang sudah terdapat postgis di dalamnya.

Semoga bermanfaat,

Administrasi Sederhana: Database, User untuk PostgreSQL

Uye uye… kali ini saya ingin membagikan pengetahuan tentang cara administrasi basisdata PostgreSQL yang akrab dengan nama panggilan postgre. Saya akan membahas mulai dari membuat user dengan role superuser, membuat database, membuat user dan memberi hak akses untuk database tersebut.

Administrasi database postgreSQL, membuat superuser, database, dan hak akses penggunanya

Logo PostgreSQL

Baik, pertama yakinkan anda sudah minum air putih terlebih dulu, karena air putih merupakan asupan cairan yang sangat bermanfaat bagi tubuh :). Kedua, pastikan database server postgre sudah terpasang di komputer Anda. Di bawah ini memang akan saya paparkan per-tahap administrasi postgre dengan command line intruction (cli). Kebetulan saya menggunakan OS Linux/Ubuntu 12.04.

Baiklah silakan baca selanjutnya ke bawah:

khayate@server:~$sudo su – postgres
Password:

kita masuk session sebagai superuser postgreSQL, default user adalah postgres

postgres@server:~$createuser -P -s -e dbadmin
Enter password for new role: contohpassword
Enter it again: contohpassword
CREATE ROLE dbadmin PASSWORD ‘contohpasswordterenkripsi’ SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE

setelah masuk ke sesi postge, kita dapat membuat user baru. Di sini saya membuat user baru bernama “dbadmin” sebagai superuser, sekaligus menyetel kata sandi untuknya.

postgres@server:~$createdb lumbung

saya membuat database baru bernama “lumbung”

postgres@server:~$psql -d lumbung
psql (9.1.6)
Type “help” for help.

lalu saya masuk ke sesi database lumbung lewat PostgreSQL interactive terminal bernama psql, terminal untuk database postgre, nah kebetulan ada parameter database untuk “lumbung”

lumbung=#CREATE USER userlumbung WITH PASSWORD ‘passuser’;
CREATE ROLE
lumbung=#GRANT ALL PRIVILEGES ON DATABASE lumbung to userlumbung;
GRANT
lumbung=#GRANT ALL ON ALL TABLES IN SCHEMA public TO userlumbung;
GRANT
lumbung=#GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO userlumbung;
GRANT
lumbung=#GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO userlumbung;
GRANT

Selanjutnya saya membuat user bernama “userlumbung” dengan kata sandi “passuser”. Nah terus kita perlu menentukan hak akses kepada user tersebut untuk bisa mengakses semua sumberdaya dalam database lumbung, mulai table, sequen, dan function pada database lumbung.

lumbung=#\q
postgres@server:~$exit
khayate@server:~$

Habis itu sudah deh, kita selesai membuat superuser, database baru beserta penggunanya.

Kesimpulannya adakah, eehhh adalah:

Kita punya akun superuser untuk DBMS postgreSQL kita
username: dbadmin
password: contohpassword

Kita punya database bernama “lumbung”, yang penggunanya adalah:
username: userlumbung
password: passuser

Baik, semoga bermanfaat bagi saya dan tentunya anda pembaca tulisan ini :)

——–
@khayate