Introduction to PostgreSQL Praktikum Sistem Basis Data Pertemuan I
PostgreSQL PostgreSQL adalah sebuah object-relational database management system (ORDBMS) Bersifat open source Mendukung standar SQL92 dan SQL99 Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Fitur Penting PostgreSQL Inheritance Data types Functions Constraints Triggers Rules Transactional Integrity
Arsitektur PostgreSQL Berbasis Client-Server. Backend software untuk database server (server-side): Postmaster Frontend software (client-side): psql (disediakan dalam paket PostgreSQL) Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.) Client berbasis Web (phpPgAdmin) Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)
Koneksi dengan psql Postmaster sudah diinstal di server Puma. Psql sudah diinstal di komputer lokal. Buka Terminal Program. Untuk mengakses postgresql di Puma, gunakan hostname puma, username tamu, dan password tamu. Gunakan option: -h hostname -U username
Membuat & Menghapus database Untuk membuat database di puma dengan user tamu: createdb -h puma -U tamu [nama database] Untuk menghapus database di puma: dropdb -h puma -U tamu [nama database]
Koneksi ke database Untuk melihat daftar options di psql: Untuk melihat daftar database yang ada: psql -h puma -U tamu -l Untuk melakukan koneksi ke database yang telah Anda dibuat: psql -h puma -U tamu [nama database]
psql Setelah psql jalan, beberapa perintah yang berguna adalah: \q (untuk keluar dari psql) \? (daftar perintah dalam psql) \h (daftar perintah SQL) \h [perintah SQL] (help untuk SQL)
Query dengan psql Berbasis standar SQL92/SQL99 Beberapa contoh: SELECT version(); SELECT current_date; SELECT current_time; SELECT 2 + 2;
Membuat Tabel Untuk membuat tabel, sebagai contoh: CREATE TABLE cuaca ( kota varchar(80), min_suhu int, max_suhu int, curah_hujan real, tanggal date );
Melihat Tabel Untuk melihat daftar tabel dalam database: \dt Untuk melihat struktur tabel: \d [nama tabel] Untuk melihat isi tabel: SELECT * FROM [nama tabel];
Mengisi Tabel Untuk menambahkan record ke dalam tabel: INSERT INTO cuaca VALUES ('Yogyakarta', 20, 35, 0.25, '2003-10-1'); Masukkan beberapa record berikut: Semarang 18 32 0.43 2003-9-29 Solo 21 29 0.36 2003-9-30 Jakarta 23 38 0.39 2003-10-1 Bandung 15 30 0.44 2003-9-30
Copy table lewat file Untuk melakukan insert dari suatu file, gunakan perintah COPY. Dalam psql, ketik '\h copy' untuk melihat dokumentasi mengenai perintah COPY. Perintah COPY untuk menyimpan data ke file atau mengambil dari file hanya bisa dilakukan oleh superuser (postgres).
Copy table lewat file (2) Contoh: COPY cuaca TO '/home/tamu/cuaca.txt' WITH DELIMITER ','; COPY cuaca FROM '/home/tamu/cuaca.txt' Kedua perintah di atas menyimpan dan memasukkan data dari file /home/tamu/cuaca.txt dengan pemisah antar kolom menggunakan tanda koma.
Copy table lewat file (3) Dalam psql, selain menggunakan perintah COPY juga bisa menggunakan \copy. Contoh: \copy cuaca to 'cuaca.txt' with delimiter ',' \copy cuaca from 'cuaca.txt' with delimiter ',' Jika menggunakan \copy, tidak perlu sebagai superuser (postgres) tetapi bisa sebagai user biasa saja.
Melakukan Query SELECT * FROM cuaca; SELECT * FROM cuaca WHERE kota = 'Solo'; SELECT * FROM cuaca WHERE min_suhu < 20; SELECT kota FROM cuaca WHERE max_suhu > 30;
Mengubah Record Untuk mengubah record: Contoh: UPDATE [nama tabel] SET [nama field] = [nilai baru] WHERE [syarat untuk menentukan record mana yang diubah]; Contoh: UPDATE cuaca SET max_suhu = 36 WHERE kota = 'Yogyakarta'; Untuk mengubah semua record: UPDATE cuaca SET max_suhu = 40;
Menghapus Record & Tabel Untuk menghapus record tertentu: DELETE FROM cuaca WHERE kota='Yogyakarta'; Untuk menghapus semua record: DELETE FROM [nama tabel]; Untuk menghapus tabel: DROP TABLE [nama tabel];
Backup Database Untuk membackup database ke file (harus keluar dari psql): pg_dump -h puma -U tamu [nama database] > [nama file] Sebagai contoh, jika nama database adalah “test” dan ingin membackupnya ke file “test.sql”: pg_dump -h puma -U tamu test > test.sql
Restore Database Untuk melakukan restore database, misalnya dari file “test.sql” ke database baru yang bernama “test2”: createdb -h puma -U tamu test2 psql -h puma -U tamu test2 < test.sql
Referensi PostgreSQL Dokumentasi lengkap dalam PDF ada di http://mti.ugm.ac.id/~andri/database Beberapa URL untuk PostgreSQL: www.postgresql.org www.postgresql.org/docs techdocs.postgresql.org