Codeigniter with Postgresql


Assalamu'alaikum Wr Wb

Selamat berjumpa lagi, kali ini saya akan membagi pengalaman pemakaian database Postgresql di Codeigniter. Dengan adanya framework kita (programmer) dimudahkan oleh pembuat framework untuk memakai database yang kita anggap mudah dan powerfull.

Saya telah lama menggunakan database MySQL awalnya cangung menggunakan Postgresql (cieee ..!!), setelah di pelajari apa itu postgresql yang memiliki banyak type data sempat kurang minat juga, tapi dengan adanya permintaan client mau tidak mau saya harus banyak mempelajari postgres ada pepatah "tak kenal maka tak sayang" dengan motivasi pepatah tersebut saya berusaha menggali postgres dari berbagai sumber.

Kelebihan PostgreSQL :

  1. PostgreSQL memiliki arsitektur multiproses (forking) yang berarti memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi.
  2. Dalam kondisi load tinggi (jumlah koneksi simultan besar), kecepatan PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, hal ini dikarenakan PostgreSQL mendukung locking di level yang lebih rendah, yaitu row.
  3. PostgreSQL memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis untuk menyimpan banyak item data di dalam satu record.Dengan adanya kemampuan OO ini maka di PostgreSQL, kita dapat mendefinisikan sebuah tabel yang mewarisi definisi tabel lain.
  4. PostgreSQL menyediakan hampir seluruh fitur-fitur database seperti yang terdapat dalam produk database komersial pada umumnya.
  5. PostgreSQL pun memiliki tipe data geometri (seperti titik, garis, lingkaran, poligon) yang mungkin berguna bagi aplikasi ilmiah tertentu
  6. PostgreSQL memberikan kita kemampuan mendefinisikan sebuah field sebagai array.
  7. PostgreSQL memiliki hampir semua fasilitas standar yang biasanya diinginkan: view (tabel virtual), trigger, subselek, stored procedure (dalam beberapa bahasa), dan foreign key constraint
  8. PostgreSQL juga memiliki apa yang disebut rule, yaitu tindakan custom yang bisa kita definisikan dieksekusi saat sebuah tabel di-INSERT, UPDATE, atau DELETE
  9. Postgres juga mempunayai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux.
  10. kemampuannya menampung data spasial, sehingga ia bisa digunakan dalam pembuatan situs yang berbasis Web GIS untuk pemetaan dan sebagainya.
  11. PostgreSQL memiliki lisensi GPL (General Public License) dan oleh karena itu, PostgreSQL dapat digunakan, dimodifikasi dan didistribusikan oleh setiap orang tanpa perlu membayar lisensi (free of charge) baik untuk keperluan pribadi, pendidikan maupun komersil.
  12. PostgreSQL mendukung banyak jenis bahasa pemrograman, antara lain: SQL, C, C++, Java, PHP, etc.

Dari referensi diatas akhirnya saya yakin kalo postgres itu powerfull.

Sekedar berbagi pengalaman, yang saya dapat :
1. Untuk penyimpanan type data character varying anda harus menambahkan fungsi trim($objek) karena di field kalo tidak pakai trim akan menambahkan spasi dan akan kesulitan apabila kita memakan filed tersebut sebagai kriteria filter. Contoh $this->db->where('nama',$nama), dengan fungsi ini data tidak terseleksi.
2. Auto Increment di postgres mengunakan type data serial, dan unik nya kalo kita menghapus 1 record data di akhir auto increment atau mengimport data dari excel ke postgres dengan tidak memperhatikan sequence nya ini akan terjadi error saat kita melakukan insert into.
3. Null ini yang saya suka dan sempat bingung karena error nya, apabila kita menyeting field menjadi Not Null jangan harap anda lewatkan untuk type data ini, anda akan menemukan error karena filed tersebut harus diisi beda dengan mysql. :)

tak lengkap tanpa penampakan :

Aplikasi menggunakan Codeigniter dan Postgres 

 pgAdmin
 Create Table
Create View

Overall nyaman deh pakai postgres, terima Kasih semoga bermanfaat.


Komentar

Posting Komentar