PostgreSQL
Postgres pada awalnya dikembangkan oleh mahasiswa dan staff programmer University of California, Berkeley, dibawah arahan Professor Michael Stonebraker. Sofware ini mulanya dinamai Postgres, tetapi karena banyak tambahan untuk fungsi fungsi SQL maka pada tahun 1995 namanya diganti Postgres95, dan sejak tahun 1996 nama yang digunakan hingga sekarang adalah PostgreSQL. Pada saat pertama dikembangkan postgres dianggap tidak memenuhi stardar ANSI-SQL92 -standar database berskala besar- , karena tujuannya hanya menjadikan postgres sebagai database yang mempunyai banyak feature dan keluwesan yang tinggi. Karena merasa mendapat tantangan postgres berusaha untuk memenuhi standar tersebut, dan akhirnya potsgres mampu juga untuk mencapai satndar ANSI-SQL. Tetapi yang lebih gila lagi ternyata kemampuan postgres melebihi standar ANSI_SQL, yang berarti kemampuan postgres melebihi database lain standar ANSI-SQL92 yang diantarannya adalah Oracle. Wajar jika Postgres dinobatkan Linux Award sebagai database pilihan dan menempatkan Oracle pada tembat ke-dua.
Perbedaan yang paling mendasar antara postgres dengan sistem relasional standar adalah, kemampuan postgres yang memungkinkan user untuk mendefinisikanSQL-nya sendiri, terutama untuk pembuatan function. Hal ini dimungkinkan karena informasi yang tersimpan pada postgres tidak hanya tabel dan kolom melainkan tipe, fungsi, car akses, dan informasi lain. Kesemuanya itu dihimpun dalam bentuk class yang memungkinkan user untuk merubahnya. Dengan model class ini postgres lebih mudah dikembangkan ditingkat user dan bisa mendefinisikan sebuah tabel sebagai turunan tabel lain. Dimana pada database konvensional hal itu hanya bisa dilakukan dengan mengganti source code nya atau menggunakan modul tambahan . Kelebihan lain dari postgres adalah dukungan antar muka dari berbagai bahasa pemrograman seperti Perl, PHP, C++, Phyton, Java dan masih banyak lagi. Postgres juga mempunayai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux. Karena kemampuan itulah wajar jika bagi yang telah mencoba postgres menjadi kecanduan dan sulit untuk pindah ke database lain termasuk penulis. Saat ini postgres telah banyak digunakan oleh berbagai perusahaan besar, Rumah Sakit Pertamina adalah salah satu yang telah menggunakan Postgres.
Menggunakan Postgress.
Untuk menggunakan Postgresql maka dibutuhkan minimal paket berikut.
postgresql-x.x.x-xx
postgresql-server-x.x.x-xx
postgresql-devel-x.x.x-xx
paket tersebut biasanya telah terinstall saat mengintall Linux dengan full.
Sedangakan untuk konektifitas dengan programa lain selain dibutuhkan paket program tersebut juga dibutuhkan paket untuk antarmukanya misal ,
postgresql-phyton-x.x.x-xx
postgresql-tcl-x.x.x-xx
Untuk menjalankan postgres digunakan perintah berikut
#service postgresql start
Checking postgres installation [OK]
Starting postgresql [OK]
Postgres menggunakan mode client-server dalam memanipulasi databasenya. Untuk melakukan konektifitas antara server dan klien dibutuhkan informasi username, password, nama_database, nema_server, dan nomor_port. Dan untuk melakukan itu postgres telah menyertakan program klien yaitu psql, dimana pembuatan dan manipulasi database dilakukan di sini.
Pada saat menginstall postgres secara otomatis telah dibuat username postgres dan dababase template1. Setiap perintah SQL harus diakhiri dengan titik koma (;) karena tanpa titik koma psql akan menganggap perintah belum selesai dilakukan. Perintah yang bukan sql biasanya diawali dengan backslash (\) dan tidak perlu diakhiri dengan titik koma.
Contoh penggunaan postgres
$ psql -U postgres template1
Welcome to psql, 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=#
Setelah masuk maka dapt dibuat database baru
template=> CREATE DATABASE opic;
untuk berpindah ke databse lain digunakan perintah \c
template=> \c opic
You are now connected to database opic.
opic=#
Atau jika dari konsol ingin langsug masuk ke database opic bisa digunakan perintah
$psql -U upic
Welcome to psql, 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
opic=#
Untuk melihat perintah SQL dasarnya takan tab pada prompt psql
opic=#
ABORT COMMIT DROP LISTEN RESET SHOW
ALTER COPY EXPLAIN LOAD REVOKE UNLISTEN
BEGIN CREATE FETCH LOCK ROLLBACK UPDATE
CLOSE DECLARE GRANT MOVE SELECT VACUUM
CLUSTER DELETE INSERT NOTIFY SET
untuk lebih detail lagi gunakan help
opic=#\help
Available help:
ABORT CREATE TRIGGER FETCH ALTER GROUP CREATE TYPE GRANT ALTER TABLE CREATE USER INSERT ALTER USER CREATE VIEW LISTEN BEGIN DECLARE LOAD CLOSE DELETE LOCK CLUSTER DROP AGGREGATE MOVE COMMENT DROP DATABASE NOTIFY COMMIT DROP FUNCTION REINDEX COPY DROP GROUP RESET CREATE AGGREGATE DROP INDEX REVOKE CREATE CONSTRAINT TRIGGER DROP LANGUAGE ROLLBACK CREATE DATABASE DROP OPERATOR SELECT CREATE FUNCTION DROP RULE SELECT INTO CREATE GROUP DROP SEQUENCE SET CREATE INDEX DROP TABLE SHOW CREATE LANGUAGE DROP TRIGGER TRUNCATE CREATE OPERATOR DROP TYPE UNLISTEN CREATE RULE DROP USER UPDATE CREATE SEQUENCE DROP VIEW VACUUM CREATE TABLE END
CREATE TABLE AS EXPLAIN
Membuat tabel pada psotgres
Tabel merupakan tempat menyimpan data, setiap tabel mempunyai filed / kolom dan record /baris. sebuah tabel harus memiliki field untuk melakukan identifikasi sehinggan tidak boleh sama atau yang sering disebut primary key. Primary key tidak boleh kosong ( null) sehingga harus dideklarasikan sebagai not null.
Contoh pembuatan tabel
opic=# CREATE TABLE kslteam (
opic(# id INTEGER NOT NULL,
opic(# nama VARCHAR(20),
opic(# PRIMARY KEY (id)
opic(# );
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index ‘kslteam_pkey’ for table ‘kslteam’
CREATE
Untuk melihat tabel digunakan perintah
opic=# \dt
List of relations
Name | Type | Owner
———+——-+———-
kslteam | table | postgres
(1 row)
opic=#
perintah yang digunakan untuk mengisi tabel
opic=# INSERT INTO kslteam (id, nama)
opic-# VALUES (1999, ‘ rofiq yuliardi’);
perintah yang digunakan untuk melihat isi tabel
opic=# SELECT * FROM kslteam;
id | nama
——+—————-
opic=#
atau
opic=# SELECT nama FROM kslteam;