1. MAKALAH PEMROGRAMAN
GENERASI KEEMPAT
POSTGRE SQL
Dosen : Taufan Erfiyanto
4KA34
Di susun oleh:
Fauzan Satrio Nugroho (19112013)
Faizal Rafik (19112111)
Libriana Nurdiani (19112070)
Moch Iqbal A (19112083)
Yusuf Randy (19112033)
2. 1. Apa itu postgre?
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut
Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak
digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna
untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror,
PGPool, Slony, PGCluster, dan lain-lain.
2. Pengguna PostgreSQL
o Yahoo! untuk analisa prilaku pengguna web, menyimpan 2 petabyte data dan
mengklaim sebagai gudang data terbesar. Menggunakan versi PostgreSQL yang
dimodifikasi, dengan engine penyimpanan berbasis kolom yang sepenuhnya
berbeda.
o MySpace, situs jejaring sosial populer, menggunakan basisdata Aster nCluster
untuk gudang data, dibangun diatas PostgreSQL tanpa modifikasi.
o OpenStreetMap, proyek kolaboratif untuk menciptakan peta dunia yang bebas
sunting.
o Afilias, register domain untuk .org, .info, dan sebagainya.
o Sony Online multiplayer online game.
o BASF, platform belanja untuk portal agribisnisnya.
o i5.com portal jejaring sosial.
o Skype aplikasi VoIP, basisdata pusat bisnis.
o Sun xVM, perangkat lunak virtualisasi dan otomasi datacenter milik Sun
3. Karakteristi postgre:
PostgreSQL adalah sebuah object-relational database management system (ORDBMS)
Bersifat open source
Mendukung standar SQL92 dan SQL99
3. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP
4. Cara Install PostgreSQL:
Ubuntu
buka terminal dengan menekan ctrl+alt+T
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:pitti/postgresql
Nanti akan keluar comand berikut
Executing: gpg ignore-time-conflict no-options no-default-keyring secret-keyring
/etc/apt/secring.gpg trustdb-name /etc/apt/trustdb.gpg keyring /etc/apt/trusted.gpg
primary-keyring /etc/apt/trusted.gpg keyserver keyserver.ubuntu.com recv
FB322597BBC86D52FEE950E299B656EA8683D8A2
gpg: requesting key 8683D8A2 from hkp server keyserver.ubuntu.com
gpg: key 8683D8A2: public key Launchpad PPA for Martin Pitt imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Update database software pada Ubuntu
$ sudo apt-get update
Install PgSQL-nya :
$ sudo apt-get install postgresql-9.0 libpq-dev postgresql-server-dev-9.0 postgresql-contrib-9.0
Lalu untuk merubah password ada caranya, yaitu :
$ sudo -u postgres psql postgres
postgres=# password postgres
isikan password baru, dan ulangi sekali lagi. Ketik ctrl+d untuk keluar dari dialog psql
Untuk menginstall GUInya atau untuk client agar mempermudah pemakaian yaitu dengan :
$ sudo apt-get install pgadmin3
4. Versi Windows
o Untuk sistem operasi Windows 7 gunakan file postgresql-8.4.1-1-windows.exe sedangkan
untuk Windows XP gunakan file postgresql-8.3.1-1.rar
o Ekstrak file postgresql-8.3.1-1.rar ke dalam sebuah folder, misalkan D:intallerpostgresql
lalu bukalah folder tersebut, dan di dalam folder tersebut ada file postgresql-8.3.msi, lalu
klik ganda, dan akan diberikan hasil seperti gambar berikut:
o Lalu akan ditampilkan progress bar persiapan proses instalasi.
o Lalu ditampilkan jendela Setup seperti gambar berikut:
5. o Tentukan direktori induk lokasi penginstalan, biarkan default apa adanya:
o Selanjutnya akan ditampilkan jendela untuk memasukkan password, seperti gambar berikut.
Isikan passwordnya dengan admin (tanpa tanda kutip ganda):
o Pada jendela Setup Port, biarkan secara default ditentukan port yang digunakan yaitu 5432:
6. o Lalu akan ditampilkan jendela Setup Advanced Option, dan biarkan apa adanya seperti
gambar berikut:
o Lalu akan ditampilkan jendela Ready to Install, seperti gambar berikut:
7. o Proses instalasi berlangsung, dan kemajuan proses ditunjukkan oleh sebuah progress bar:
o Proses instalasi selesai. Uncheck kotak Launch Stack Builder, sebab jika diberi tanda check
maka proses instalasi akan dilanjutkan dengan mendownload beberapa program pendukung
seperti pendukung koneksi dengan basis data, dan sebagainya:
8. o Untuk menjalankan PostgreSQL, lewat menu Start lalu ketik pgAdmin, dan secara otomatis
akan ditampilkan pgAdmin III seperti gambar berikut. Lalu klik pgAdmin III.
o Selanjutnya akan ditampilkan layar pembuka untuk beberapa saat seperti gambar berikut:
9. o Selanjutnya akan ditampilkan jendela kerja pgAdmin III seperti gambar berikut:
5. Memulai Menggunakan Database PostgreSQL
Menjalankan dan Mematikan PostgreSQL
Sebagai root jalankan perintah berikut :
Script Menjalankan PostgreSQL
root]#/etc/rc.d/init.d/postgresql start
Script Mematikan PostgreSQL
root]#/etc/rc.d/init.d/postgresql stop
Script Mematikan dan Menjalankan (Restart) PostgreSQL
root]#/etc/rc.d/init.d/postgresql restart
10. Password Security dan TCP/IP Connection
Masih sebagai root, login sebagai user postgres (user sytem) dan login ke database
postgres (template1)
root]#su - postgres
-bash-2.05b$psql template1
Sekarang anda telah login ke database system template1
Welcome to psql 7.4.1, the PostgreSQL interactive terminal.
Type: copyright for distribution terms
h for help with SQL commands
? for help on internal slash commands
g or terminate with semicolon to execute query
q to quit
template1=#
Dari konsole database template1, jalankan perintah SQL untuk mengubah password user
postgres.
Kemudian keluar dari user terminal interactive PostgreSQL
template1=# ALTER USER postgres with password 'passwordku';
template1=# q
Masih login sebagai user system postgres, dimana home direktory user postgres
biasanya jika anda install PostgreSQL lewat distro linux berada di /var/lib/pgsql. Masih
sebagai root Jalankan perintah-perintah berikut untuk security akses PostgreSQL anda
11. Edit file var/lib/pgsql/data/pg_hba.conf pada 10 baris terakhir file ini, menjadi :
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all password
# IPv4-style local connections:
host all all 192.168.1.0 255.255.255.0 password
host all all 127.0.0.1 255.255.255.255 password
# IPv6-style local connections:
#host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)
#local all all ident sameuser
Penjelasan :
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all password
Script ini berarti :
Allow any user on the local system to connect to any database under
any user name using Unix-domain sockets (the default for local
connections).
host all all 127.0.0.1 255.255.255.255 password
Script ini berarti :
The same using local loopback TCP/IP connections.
host all all 192.168.1.0 255.255.255.0 password
Script ini berarti :
Allow any user from any host with IP address 192.168.1.x to connect
to database "template1" as the same user name that ident reports for
the connection (typically the Unix user name).
Edit file /var/lib/pgsql/data/postgresql.conf untuk TCP/IP connection, dengan cukup
mengubah bagian berikut atau tepatnya mengaktifkan property berikut
12. listen_addreses="localhost"
Setelah Selesai restart service PostgreSQL anda
root]#/etc/rc.d/init.d/postgresql restart
Buat User database PostgreSQL
Untuk membuat user baru pada database PostgreSQL haruslah yang membuat user
postgres. Jalankan perintah berikut untuk buat user database PostgreSQL ( anda tidak
harus sebagai root) Misalkan user baru = rosa
]$ createuser rosa -p -U postgres
option -p pada command diatas untuk sekaligus membuat password user baru,
sedangkan option -U postgres berarti hanya user postgres yang berhak membuat user
baru Selanjutnya anda diminta untuk memasukan password user_baru kemudian
apakah user_baru boleh membuat database ? YA apakah user_baru boleh create user
baru ? tentu saja tidak
Setelah itu masukan password dari user postgres pada database PostgreSQL
Enter password for new user:
Enter it again:
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
Password:
CREATE USER
Membuat database
Berikut perintah user database untuk create database baru
]$ createdb latihan -U rosa
Perintah diatas berarti membuat database latihan dimana pemilik database tersebut
adalah user database rosa
Login ke database dengan PostgreSQL
Untuk login ke database PostgreSQL jalankan perintah berikut ini
13. Login ke database latihan dalam komputer yang sama
]$ psql latihan -U rosa
Login ke database latihan dalam komputer lain / server lain
]$ psql latihan -U rosa -h 192.168.1.193
Masukan Password user rosa dan kemudian akan muncul terminal PostgreSQL yang
langsung ke database latihan
Welcome to psql 7.4.1, the PostgreSQL interactive terminal.
Type: copyright for distribution terms
h for help with SQL commands
? for help on internal slash commands
g or terminate with semicolon to execute query
q to quit
latihan=>
Dalam terminal PostgreSQL anda bisa menjalan perintah-perintah SQL
Menghapus Database
Berikut perintah user database untuk menghapus/drop database
]$ dropdb latihan -U rosa
Perintah diatas berarti menghapus database latihan. Dimana pemilik database latihan
yang bisa menghapus atau super user database (postgres)
14. 6. Keunggulan Dan Kekurangan PostgresSQL
Keunggulan
1.Resisten tehadap over-deployment Dengan menggunakan PostgreSQL, tidak ada seorangpun
dapat menuntut untuk pelanggaran terhadap perjanjian lisensi, sebagaimana tidak ada biaya lisensi
yang diasosiasikan (digabungkan) untuk software. Hal ini menyebabkan PostgreSQL memberikan
keuntungan tambahan, antara lain:
o bisnis menjadi lebih profitable dengan skala penyebaran yang luas
o tidak ada kemungkinan diperiksa untuk pemenuhan lisensi
o fleksibel untuk menjalankan konsep penelitian dan trial deployment tanpa memerlukan biaya
lisensi tambahan.
2.Support yang lebih baik Selain memberikan support yang kuat, PostgreSQL juga mempunyai
komunitas ahli dan para peminat.
3.Menghemat biaya staffing PostgreSQL telah didesain dan dibuat sedemikian rupa untuk
mempunyai tingkat pemeliharaan dan kebutuhan yang lebih rendah daripada database systems
sebelumnya, walaupun tetap mempertahankan kualitas fitur, stabilitas, dan performa. Sehingga
biaya yang diperlukan PostgreSQL menjadi lebih efektif dan lebih dapat diatur.
4.Terpercaya dan stabil Banyak perusahaan yang melaporkan bahwa PostgreSQL tidak pernah,
bahkan sekalipun, mengalami crashed pada saat melakukan operasi dengan tingkat aktivitas yang
tinggi.
5.Extensible (dapat diperluas) Kita tidak memerlukan biaya sekecil apapun dan hanya
memerlukan sedikit usaha untuk melakukan perluasan terhadap PostgreSQL.
6.Cross platform PostgreSQL dapat dijalankan hampir di setiap jenis Unix (34 platform yang
paling baru dirilis), juga di Windows dengan menggunakan Cygwin.
7.Didesain untuk environmentshigh volume PostgreSQL menggunakan penyimpanan data
dengan banyak baris (multiple rows) yang dinamakan MVCC. Hal ini dimaksudkan agar
PostgreSQL sangat responsif pada high volume environments.
8.Desain database GUI dan administration tools Beberapa tools GUI yang berkualitas tinggi
tersedia untuk mengelola database (pgAdmin, pgAccess), sekaligus desain database(Tora, database
architect).
9.Fitur fitur yang sangat mendukung PostgreSQL sangat kaya akan fitur-fitur yang
disediakannya, antara lain: rules, views, triggers, unicode, sequences, inheritance, outer join, sub-
selects, open API, dan masih banyak lagi.
15. Kekurangan
1. kurang begitu populer dan cocok bekerja di lingkungan web jika dibandingkan dengan mysql.
2. Kurang fokus dalam hal kelangsingan dan kecepatan.
3. arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-
oriented.
4. PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.
5. Kurang unggul dalam hal ketersediaan fungsi built-in.
6. Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya.
7. PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama
kolom, dan penggantian nama tabel.
SUMBER
http://ikc.dinus.ac.id/umum/owo-postgres.php
http://www.postgresql.org/docs/8.1/static/functions-aggregate.html
http://contohskripsiku.com/pdf/makalah+postgresql