Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

24 Agu 2010

Database Link Pada PostgreSQL

Database Link adalah suatu koneksi antara dua database fisik yang memungkinkan client untuk mengakses datanya sebagai satu database logic. Database link merupakan sebuah pointer yang didefinisikan sebagai satu-arah jalur komunikasi dari server Database kepada server database lainnya. Koneksi database link memungkinkan user-user lokal untuk mengakses data pada database server secara remote. Dengan kata lain, pengaksesan data ini secara langsung meremote database di server.

Setiap DBMS pasti memiliki konsep database link. Bagaimana melakukan remote database ke server, atau bisa dikatakan konsep dblink pada PostgreSQL.

Untuk lebih memahami bagaimana konsep dblink pada postgreSQL, mari kita melakukan percobaan antara 2 host komputer. 1 host bertindak sebagai server pusat, dan 1 host yang lain bertindak sebagai client yang melakukan remote ke server pusat.


Langkah-langkah yang perlu dilakukan untuk melakukan dblink di postgreSQL adalah sebagai berikut:
  1. Daftarkan IP client pada postgreSQL server. Caranya:
    • Pada postgreSQL yang ada di server, pilih menu ToolsServer Configurationpg_hba.conf.
    • Kemudian daftarkan IP Client seperti gambar dibawah ini.
      IP Address: 192.168.19 merupakan IP client yang diijinkan melakukan remote database ke server pusat dan /24 setelah IP merupakan subnet mask yaitu setara 255.255.255.0. Jika menginginkan hanya database tertentu saja yang dibolehkan untuk diakses, pilih nama database. Jika pada Database memilih all berarti membolehkan semua database untuk diakses oleh client.
    • Setelah selesai, silahkan tekan tombol OK

  2. Setelah IP Client didaftarkan di server, lakukan tes koneksi menggunakan query:
    select dblink_connect('host=192.168.1.4 user=postgres password=keuangan dbname=sagara')
    host=192.168.1.4 merupakan IP dari server. user=postgres merupakan nama user dari postgreSQL yang ada diserver. password=keuangan merupakan password dari postgreSQL server. dbname=sagara adalah nama database di server yang akan diakses oleh client. Pastikan bahwa koneksi berhasil alias OK.

  3. Melihat isi database yang ada di postgreSQL server. Menggunakan script SQL berikut:
    select * from dblink('host=192.168.1.4 user=postgres password=keuangan dbname=sagara', 'select * from pegawai')
    return (id int, nama varchar, asal varchar, jabatan varchar)
    Keterangan query return adalah merupakan pengembalian nama dan tipe kolom yang ada pada tabel pegawai. Jadi jika ketika tabel itu memiliki 4 kolom, maka deklarasikan ke-4 kolom tersebut beserta tipe atributnya.

  4. Insert data melalui dblink. Menggunaka query:
    select dblink_exec('host=192.168.1.4 user=postgres password=keuangan dbname=sagara',
    'insert into pegawai values (4, "Fitrika", "Balikpapan", "Sekretaris")')

  5. Update data melalui dblink. Menggunakan query:
    select dblink_exec('host=192.168.1.4 user=postgres password=keuangan dbname=sagara',
    'update pegawai set id_pegawai=5, nama_pegawai="Charisma", asal_pegawai="Magetan",
    jabatan_pegawai="Sekretaris 2" where id_pegawai=4 ')

  6. Delete data melalui dblink. Menggunakan query:
    select dblink_exec('host=192.168.1.4 user=postgres password=keuangan dbname=sagara',  'delete from pegawai where id_pegawai=3')
Untuk lebih jelasnya, silahkan download e-book yang telah saya tulis: Mudafiq-DBLink-PostgreSQL.pdf

Tidak ada komentar:

Posting Komentar