Anda di halaman 1dari 42

LAPORAN PRAKTIKUM

INSTALLASI POSTGRESSQL, MANAGING DATABASE, SCHEMAS


DAN TABLESPACES

Disusun Oleh :

Nama Mahasiswa : MUHAMMAD FADHILLA


Nim Mahasiswa : 2022573010097
Semester / Kelas : 4 / TI 2B
Jurusan / Prodi : TIK / TI
Dosen MK : Muhammad Reza Zulman, S.ST., M.Sc

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER
POLITEKNIK NEGERI LHOKSEUMAWE
2024
LEMBAR PENGESAHAN

NAMA MATA KULIAH : PRAKTIKUM ADMINISTRASI BASIS

DATA

NOMOR PRAKTIKUM : 01/PABD/TI/2024

JUDUL PRAKTIKUM : INSTALLASI POSTGRESSQL,

MANAGING DATABASE, SCHEMAS

DAN TABLESPACES

HARI/TANGGAL PRAKTIKUM : SENIN/26 FEBRUARI 2024

HARI/TANGGAL PENYERAHAN : SENIN/18 MARET 2024

NAMA MAHASISWA : MUHAMMAD FADHILLA

NIM : 2022573010097

PRODI/KELAS : TEKNIK INFORMATIKA/TI 2B

NILAI :

Buket Rata, Maret 2024


Mahasiswa Dosen

Muhammad Fadhilla Muhammad Reza Zulman, S.ST., M.Sc


Nim. 2022573010097 Nip.

i
DAFTAR ISI

LEMBAR PENGESAHAN ................................................................................................. i

DAFTAR ISI ......................................................................................................................... ii

BAB I PENDAHULUAN ..................................................................................................... 1

A. Latar Belakang ................................................................................................ 1

B. Tujuan .............................................................................................................. 1

C. Dasar Teori ...................................................................................................... 1

BAB II PEMBAHASAN PRAKTIKUM ………………………………………………… 2

BAB III KESIMPULAN ………………………………………………………………….. 11

BAB IV DAFTAR PUSTAKA …………………………………………………………….


12

ii
BAB I
PENDAHULUAN

A. Latar Belakang
Era teknologi menjadikan informasi menyebar dengan sangat cepat. Melalui
internet kita dapat mengakses begitu banyak data dan informasi yang diperlukan.
Dalam kemudahan mengakses data dan informasi, kita dituntut untuk
mengembangkan data atau informasi tersebut menjadi lebih menarik dan mudah untuk
dibaca. Banyaknya data yang diperoleh terkadang perlu untuk diolah agar dapat lebih
mudah dan menarik dalam membacanya. Data yang diperoleh kemudian diolah
dengan sedemikian rupa lalu ditampilkan dalam bentuk grafik itulah yang disebut
dengan visualisasi data.
Database merupakan sebuah kumpulan-kumpulan data yang terstruktur dan
teroganisir yang tersimpan di dalam sebuah server, database dapat menyimpan,
mengelola dan mencari informasi dalam berbagai hal, semua jenis data tersimpan di
dalam suatu koleksi agar pengelolaan data menjadi lebih efisien, database dapat di
atur dalam Database Management System (DBMS) untuk menghindari data
ganda/duplikat. Database juga berguna dalam keamanan data, data yang tersimpan di
dalam database dapat dibuat menggunakan password sehingga tidak dapat di akses
oleh pihak luar. Salah satu perangkat dalam penunjang database ini adalah postgresql.
Postgresql muncul pada tahun 1986 merupakan sebuah perangkat lunak open
source yang melakukan sebuah Object Relational Database Management Systems
(ORDBMS), Postgresql memiliki fitur unggulan seperti Asynchronous Replication,
Locking Mechanism, Savepoints dan JSON. Postgresql banyak di gunakan di
kalangan saat ini karena fitur-fitur nya yang terbilang canggih dan terus di
kembangkan serta mudah di pahami oleh pemula.

B. Tujuan
1. Dapat memahami fungsi Database!
2. Dapat memahami penggunaan Postgresql serta Koneksi ke Server!
3. Dapat memahami cara Managing Database, Schemas dan Tablespaces pada
Postgresql!
C. Dasar Teori
Postgresql merupakan sebuah sistem manajemen database relasional yang
dapat digunakan dan dikembangkan secara open-source dan gratis. Software ini dapat
berjalan pada sistem operasi berbasis windows dan Linux seperti Debian, Ubuntu,
Fedora, dan lain-lain. Salah satu kegunaan PostgreSQL adalah untuk mengelola data
dalam tabel yang berelasi satu sama lain dan juga memiliki fitur yang sangat kuat.
Fitur-fitur dapat digunakan untuk menyimpan dan mengelola berbagai jenis data,
mulai dari data sederhana hingga data yang sangat kompleks. PostgreSQL adalah
sistem manajemen basis data relasional objek (RDBMS) yang menggunakan dan
memperluas bahasa SQL. RDBMS memungkinkan pengguna untuk berinteraksi
dengan data dalam database seperti melihat, menghapus, menambahkan, dan mencari
data.
Dalam postgresSQL kita dapat melakukan beberapa tindakan tugas
administrasi yang penting tetapi pada laporan ini kita akan membahas 3 administrasi
penting diantara lain managing database, managing schemas dan managing
tablespaces. Managing database merupakan cara mengelola database dengan beberapa
perintah yaitu seperti membuat(create), memodifikasi fitur database yang ada (alter),
menghapus database(drop) hingga mencopy database. Begitu juga pada managing
schema dan managing tablespace.

2
BAB II
PEMBAHASAN PRAKTIKUM

Download Aplikasi PostgresSQL dan DBeaver


- Download Postgresql melalui link berikut ini https://www.postgresql.org/download/
- Pada halaman pemilihan silahkan pilih OS yang digunakan, misal windows kilik
icon windows dan pilih “Download the installer”

- Pada bagian selanjutnya silahkan pilih version yang diinginkan dan pilih windows
versi 64 atau 32 bit susai dengan OS masing-masing.

- Setelah selesai mendownload lakukan download Dbeaver melalui link berikut


https://dbeaver.io/download/
- Pilih DBeaver for cumminty dan pilih windows installler.

3
Installasi Postgresql dan Dbeaver
- Lakukan Installasi pada aplikasi Postgresql dengan mengklik kanan run
administrator atau double klik.
- Setelah muncul tampilan installasi klik next untuk melanjutkan

- Pada halaman selanjutnya saat installation directory pilih next saja, dan pada select
component anda juga bisa next saja, begitu juga pada data directory.

- Selanjutnya pada tampilan password, anda disuruh membuat password untuk


mengakses database postgresql anda nanti, silahkan buat password yang di inginkan
dan harus di ingat. Contoh : admin,root dan lain sebagainya.

4
- Selanjutnya pada halaman port klik next saja jika tidak ada masalah, dan halaman
selanjutnya juga next hingga pada pre installation kita next saja.

- Tunggu hingga proses installing selesai

- Setelah proses installasi selesai lakukan pengecekan uji koneksi postgres dengan
cari sql shell di kolom pencarian lalu cek dengan seperti gambar berikut! Pada
bagian password silahkan masukkan password yang dibuat pada proses installasi.

- Selanjutnya silahkan install DBeaver dengan cara klik kanan run as


administrator/open installer. Pada tampilan pilih ‘english’ sebagai bahasa dan next
sebagai lanjutan proses installasi.

5
- setuju dengan klik ‘I agree’ pada licensi dari DBeaver, dan pada tampilan
selanjutnya anda bisa pilih untuk sendiri atau all users, dsini saya pilih untuk
penggunaan laptop saya sendiri.

- pada bagian selanjutnya klik next saja untuk melanjutkan

- klik install dan tunggu hingga selesai, centang pada box create dekstop untuk
membuat shortcut dekstop nya dan finish.

6
Koneksi Database
1. Koneksi database PostgresSQL ke DBeaver
- Open Aplikasi DBeaver dan pada tampilan awal pilih menu dropdown sebelah kiri

- Pilih PostgresSQL untuk melanjutkan

- Pada bagian setup ini semuanya masih secara default saat kita installasi tadi,
masukkan password sesuai dengan proses installasi tadi dan klik test connection.

- Karena pertama kali install maka kita akan disuruh untuk mendownload terlebih
dahulu persyaratan version yang di inginkan, klik download dan tunggu hingga
selesai sampai terkonek.

7
- Jika sudah terhubung maka tampilan database dari PostgresSQL akan muncul

2. Koneksi Database dengan Psql di CMD


- Open command prompt (CMD) melalui menu pencarian
- Pada tampilan awal command prompt ketikkan perintah “psql -U postgres” untuk
terhubung ke dalam server postgresSQL, lalu masukkan password saat proses
installasi postgres di awal. Jika sudah masuk ke dalam server maka tampilan
direktori berubah menjadi “postgres=#”.

- Cek version dari server postgresql dengan perintah berikut

- Cek database yang tersedia, setiap server baru yang dibuat memiliki database
bawaan yaitu postgres yang otomatis sudah aktif tersedia.

- Cek server addres dan port server dari postgresql

8
3. Koneksi Database dengan PgAdmin 4
- Open PgAdmin 4 dengan mengetik di menu pencarian di windows
- Pada tampilan awal PgAdmin 4 klik kanan pada Servers > Register > Server,
perhatikan gambar berikut!

- Pada Tab General dari layar Register masukkan name server buat contoh “Local”

- Selanjutnya masuk ke bagian Tab Connection, buat host name adress menjadi
“localhost” dan berikan bagian Password = Password saat installasi postgres lalu
klik save untuk membuat server.

- Maka hasil Server telah terhubung dan memiliki database Postgres dan Cek version
melalui Query Tool

9
Load Sample Database
1. Load Sample melalui psql command
- Open command prompt masuk ke server psql -U postgres, setelah masuk ketikkan
perintah “CREATE DATABASE dvdrental” untuk membuat database baru.

- Cek database dengan menggunakan perintah \l lalu exit untuk keluar dari server.

- Setelah keluar open kembali cmd dan ketikkan “pg_restore -U postgres -d dvdrental
nama direktori” sesuai terlihat pada gambar.
Pg_restore merupakan perintah untuk menambahkan file
-U postgres merupakan database tujuan
-d dvdrental merupakan spesifik nama file yang ingin di upload
Terakhir berikan nama direktori dengan cara copy melalui file folder yang
disimpan.

- Setelah itu lakukan swicth ke dalam database dvdrental dengan perintah \c


dvdrental

- Tampilkan table yang tersedia dengan perintah \dt

10
2. Load Sample melalui PgAdmin 4
- Open PgAdmin 4 pilih Create > Database

- Buatkan nama database dan klik simpan

- Masukkan file name yang di tuju sesuai alamat penyimpanan folder dvdrental.tar,
lalu klik restore.

11
Managing Database, Schema, Tablespace
1. Managing Database
a. Create Database
- Open cmd masuk ke dalam psql -U postgres dan ketiikkan perintah “CREATE
DATABASE sales” maka ini akan membuat database baru berupa sales.

- Cek database dengan perintah seperti gambar dibawah ini!

- Membuat database dengan Option, ini merupakan membuat database dengan


bebeapa parameter.

- Membuat database dengan PgAdmin 4, klik kanan pada database pilih create dan
database

- Pada tampilan page General buat nama database baru “sampledb” dan owner
“Postgres” lalu anda bisa mengecek sql yang dibuat untuk membuat database
dengan mengklik tab SQL lalu save.

12
b. Alter Database
- Alter database merupakan cara untuk merubah/merename struktur atau properti
yang ada pada database contoh pada atribut, owner, default tablespace hingga
session default ke tika runtime.
- Masuk ke dalam server lalu buat database baru “testdb2” dan lakukan perintah Alter
database dan Rename untuk mengubah nama database testdb2 menjadi testhrdb.

- Selanjutnya tes Alter database pada Owner testhrdb ke Postgres hr, jika role dari hr
belum tersedia maka kita bisa membuat dulu seperti perintah berikut!

- Jika sudah terbuat maka role tersebut telah ada pada seperti gambar berikut!

- Selanjutnya alter table bisa digunakan sebagai mengganti default dari tablespace
dari database testhrdb, anda bisa melihat gambar berikut, pada gambar tablespace
hr_default belum ada maka dari itu kita buat terlebih dahulu tablespace nya.

- Buat folder baru pada C dengan nama file sampledb > hr

- Masukkan perintah baru di cmd dengan mengcreate tablespace nya

- Tablespace dari hr_default telah dibuat dan masukkan kembali perintah alter yang
di atas tadi untuk menjadikan tablespace hr_default sebagai defaultnya.

- Terakhir andabisa menggunakan alter table sebagai mengatur


escape_string_warning menjadi “off” yang merupakan sebuah parameter dalam
PostgreSQL yang mengontrol apakah server akan mengeluarkan peringatan
(warning) jika terjadi penggunaan fungsi string yang tidak aman

13
c. Rename Database
- Rename database merupakan satu statement yang digunakan bareng dengan alter
table biasa digunakan untuk mengubah suatu nama database. Pada contoh ini
database testdb2 diubah menjadi testhrdb

d. Drop Database
- Drop database merupakan statement yang digunakan untuk menghapus suatu
database, pada drop database anda bisa menggunakan opsi IF EXIST yang
berfungsi sebagai pencegah kesalahan dan ada bisa menggunakan opsi FORCE
sebagai opsi yang mengakhiri semua koneksi yang ada ke database target.
- Kita ingin menghapus database hr yang telah ada maka kita gunakan perintah
berikut,matikan/disconnect terlebih dahulu agar database tidak dalam keadaan aktif
lalu ketikkan di cmd drop database maka jika sudah berhasil muncul pesan drop
database yang tandanya berhasil, perhatikan gambar!

- Selanjutnya contoh menghapus database menggunakan opsi IF EXIST, opsi yang


digunakan untuk memeriksa apakah database yang akan dihapus benar-benar ada
sebelum mencoba menghapusnya. Jika database yang ditentukan tidak ada, perintah
"DROP DATABASE" akan diabaikan dan tidak akan menyebabkan kesalahan.
Contoh database yang tidak ada

Contoh database yang ada maka dia akan menghapusnya

- Selanjutnya opsi FORCE digunakan pada yang digunakan untuk memaksa


penghapusan database tanpa perlu konfirmasi tambahan. Ketika opsi ini disertakan
dalam perintah "DROP DATABASE", PostgreSQL akan menghapus database
tersebut tanpa memperhatikan apakah ada sesuatu yang bergantung padanya, seperti
tabel, skema, atau koneksi database tersebut dalam keadaan aktif. Berikut statement
penggunaan opsi FORCE.

14
e. Copy Database
- Terdapat 2 opsi dalam copy database yaitu anda bisa menyalin database dengan
nama server yang sama dan dapat menyalin database dari satu server ke lainnya.
- Contoh menyalin database dengan nama server yang sama

- Jika pesan di atas muncul itu berarti database dalam keadaan aktif, anda bisa
menggunakan query berikut jika database tersebut dalam keadaan aktif dan ulangi
perintah yang tadi maka database berhasil dibuat.

- Selanjutnya anda dapat menyalin database dari satu server ke lainnya. Ini digunakan
saat ukuran database terlalu besar dan koneksi antar server terlambat maka dapat
membuang database sumber ke file, menyalin file ke server jauh, dan
memulihkannya

f. Get Database Object Size


- Get database object size digunakan untuk mengukur ukuran objek-objek. Tujuannya
sebagai fungsi untuk mengetahui seberapa besar objek-objek dalam database,
seperti tabel, indeks, prosedur tersimpan, dan objek lainnya. Dengan mengetahui
ukuran objek-objek dalam database, administrator atau pengembang database dapat
mengambil langkah-langkah yang diperlukan, seperti melakukan normalisasi,
mengoptimalkan indeks, membersihkan data yang tidak terpakai, atau memperluas
kapasitas penyimpanan.
- Contoh mengambil table size postgresSQL, klik kanan pada database dvdrental
pilih > Query Tool

15
- Gunakan perintah pg_relation_size() untuk mengambil ukuran dari table actor yang
ada pada database dvdrental

- Anda juga bisa menggunakan fungsi pg_size_pretty() untuk yang lebih mudah di
baca, karena pg_size_pretty() menggunakan format byte, Kb, Mb, Gb atau Tb.

- pg_relation_size() hanya menghitung ukuran tabel saja, tidak termasuk indeks atau
objek tambahan. Untuk mendapatkan total semua ukuran anda bisa menggunakan
pg_total_relation_size()

- kamu bisa menggunakan fungsi pg_total_relation_size() sebagai pencari ukuran


tabel terbesar termasuk index, perhatikan gambar berikut!

16
- pada gambar berikut merupakan contoh mencari ukuran tabel beserta indeks
terbesar yang ada pada database dvdrental.
- Contoh mengambil ukuran database, anda bisa menggunakan fungsi
pg_database_size untuk mengambil ukuran dari database dvdrental

- Ada juga perintah jika ingin melihat ukuran seluruh database yang ada pada server,
yaitu menggunakan perintah berikut.

- Contoh mengambil ukuran dari suatu index menggunakan fungsi pg_indexes_size()


fungsi ini menerima OID atau nama tabel sebagai argumen dan mengembalikan
total ruang disk yang digunakan oleh semua indeks yang melekat pada tabel
tersebut.

- Contoh mengambil ukuran pada tablespace size menggunakan fungsi


pg_tablespace_size()

17
- Contoh untuk mengambil ukuran dari value maka menggunakan fungsi
pg_column_size() dengan implementasi sebagai berikut.

2. Managing Schemas
a. Schema
- Database Schema adalah framework atau blueprint yang digunakan oleh para
programmer untuk membangun dan menulis kode database. Schema bisa membantu
user database memahami informasi yang disimpan. kerangka kerja yang
menentukan struktur logis dari database termasuk tabel, kolom, jenis data, dan
hubungan antar tabel. Schema adalah panduan bagi database untuk mengatur dan
memvalidasi data yang dimasukkan. Tanpa schema, penyimpanan data akan
menjadi tidak teratur dan sulit dikelola. Di PostgreSQL, schema dapat berupa
kumpulan objek database bernama, termasuk tabel, tampilan, indeks, tipe data,
fungsi, prosedur tersimpan, dan operator. setiap database memiliki setidaknya satu
schema, yaitu schema bawaan yang "public". Schema ini secara default adalah
tempat di mana objek-objek baru akan dibuat jika tidak ditentukan secara eksplisit
oleh pengguna.
- Untuk mengakses objek dalam skema, yang pertama adalah mengkualifikasi objek
tersebut dengan menggunakan sintaks berikut :

- Sebagai contoh Sebuah database mungkin berisi satu atau lebih skema. Namun,
suatu skema hanya dimiliki oleh satu database. Selain itu, dua skema dapat
memiliki objek berbeda yang memiliki nama yang sama. Misalnya, jika memiliki
skema sales yang memiliki tabel staf dan skema publik yang juga memiliki tabel
staf. Ketika mengacu pada tabel staf, maka anda harus memenuhi syarat sebagai
berikut:

18
- Public schema merupakan schema otomatis yang dibuat oleh postgresSQL untuk
setiap database baru, Apapun objek baru yang dibuat tanpa menentukan nama
skema, maka PostgreSQL akan menempatkannya ke dalam skema publik. Oleh
karena itu cara penggunaan nya dapat seperti ini!

- Contoh penggunaan schema pada database postgres, Pertama jika akan merujuk ke
tabel tanpa nama skemanya, misalnya tabel staf, bukan nama yang sepenuhnya
memenuhi syarat seperti tabel staf schemas. PostgreSQL mencari tabel tersebut
menggunakan jalur pencarian skema, yang merupakan daftar skema untuk dicari.
PostgreSQL akan mengakses tabel pertama yang cocok di jalur pencarian skema.
Jika tidak ada kecocokan, ia akan mengembalikan kesalahan, meskipun nama
tersebut ada dalam skema lain di database. Schema pertama dalam jalur pencarian
disebut skema saat ini. Anda dapat menggunakan Fungsi current_schema() untuk
mengembalikan skema saat ini:

- Show search_path digunakan sebagai perintah untuk mencari jalur schema yang
digunakan saat ini pada database postgres.

- Untuk membuat schema baru anda bisa menggunakan fungsi berikut. Dalam hal ini
maka SCHEMA sales telah terbuat

- Selanjutnya untuk menambahkan schema baru pada Search path/jalur pencarian


maka gunakan perintah ini

19
- Membuat tabel baru bernama staff tanpa menentukan nama skema, PostgreSQL
akan memasukkan tabel staff ini ke dalam schema sales bukan schema public
karena kita telah mengset sebelumnya untuk tujuan ke schema sales:

- Maka tabel staff pada schema sales telah terbuat, untuk melihat isi dari table staff
yang telah dibuat pada schema sales gunakan perintah berikut.

- Contoh lain pengguna juga bisa membuat hanya dapat mengakses objek dalam
skema yang mereka miliki(privileges). Artinya tidak ada yang dapat mengakses
objek apa pun dalam skema yang bukan miliknya. Untuk mengizinkan pengguna
mengakses objek dalam skema yang bukan miliknya, maka harus memberikan hak
istimewa USAGE skema kepada pengguna, pada contoh kita memberikan pada
schema sales ke role hr.

- Untuk mengizinkan pengguna membuat objek dalam skema yang bukan miliknya,
maka menggunakan CREATE skema untuk membuatnya dengan cara masukkan
tujuan ke user/pengguna database.

20
b. Create Schema
- Contoh membuat schema baru anda bisa menggunakan perintah CREATE, disini
membuat schema baru yaitu marketing.

- Query berikut ini melihat schema yang ada pada server yang digunakan.

- Contoh membuat schema baru untuk pengguna baru, dengan cara membuat role
baru terlebih dahulu.

- Selanjutnya cara membuat schema baru untuk role john, dengan perintah berikut.

- Buat schema baru bernama doe yang akan dimiliki oleh john:

- Selanjutnya kita juga bisa membuat schema beserta objeknya.

21
- Pada contoh diatas kita membuat schema scm dengan object yang beserta table
deliveris dan view.

c. Alter Schema
- Alter schema berfungsi untu mengubah definisi dari schema seperti mengubah
nama schema, contohnya merename schema doe yang dibuat tadi menjadi finance
dan john menjadi accounting.

- Selanjutnya anda juga bisa mengubah pemilik schema finance dari role john ke
pengguna postgres dengan perintah berikut, masuk terlebih dahulu ke schema yang
di inginkan beserta pemilik penggunanya.

- Setelah masukkan perintah untuk merubah pemilik dengan kode berikut

22
- Maka saat ini skema finance sekarang dimiliki oleh pemilik dengan id 10, yaitu
postgres.

- Selanjutnya anda dapat juga merubah pemilik dari schema acoounting, dengan
perintah barikut, lalu makan acoounting menjadi milik pengguna postgres dengan id
10 juga.

d. Drop Schema
- Dop schema merupakan perintah untuk menghapus skema dan semua objeknya dari
database. Contohnya ingin menghapus schema accounting, perhatikan gambar
berikut.

- Anda juga dapat menghapus beberapa schema sekaligus dengan perintah berikut

- Untuk menghapus contoh skema yang tidak kosong terdapat perintah tambahan
yaitu cascade, contoh perhatikan gambar berikut. Schema scm memiliki isi data jika
ingin mengahpusnya maka gunakan perintah cascade jika tidak maka dia akan eror.

23
3. Managing Tablespaces
a. Creating Tablespaces
- Tablespace adalah lokasi disk tempat PostgreSQL menyimpan file data yang berisi
objek database seperti indeks dan tabel. PostgreSQL memiliki dua tablespace
default yaitu pg_default sebagai menyimpan data user dan pg_global sebagai
menyimpan data global.
- Tablespace berfungsi sebagai mengontrol tata letak disk PostgreSQL. Ada dua
keuntungan utama menggunakan tablespace. Pertama, jika partisi tempat cluster
diinisialisasi kehabisan ruang, maka dapat membuat tablespace baru di partisi
berbeda dan menggunakannya hingga anda mengkonfigurasi ulang sistem. Kedua,
dapat menggunakan statistik untuk mengoptimalkan kinerja database. Misalnya,
menempatkan indeks atau tabel yang sering diakses pada perangkat berperforma
cepat seperti ssd, dan menyimpan data arsip yang jarang diakses pada perangkat
yang lebih lambat.
- Contoh penggunaan Create Tablespace yang pertama perlu membuat sebuah
direktori terlebih dahulu sebagai path yang dituju. Contoh membuat folder primary
di local disk C, maka query nya seperti berikut ini membuat sebuah tablespace.

- Maka tablespace ts_primary telah dibuat dan berlokasi di folder primary, masukkan
perintah \db untuk melihat.

- Untuk melihat lengkap dengan ukuran data yang ada pada tablespace anda juga bisa
menggunakan perintah \db+

24
- Selanjutnya anda dapat membuat database yang menggunakan/di dalam tablespace
ts_primary tadi dengan menggunakan perintah berikut.

- Maka database logistik berada pada tablespace dari ts_primary, selanjutnya anda
juga dapat membuat sebuah tabel beserta isiannya.

- Cek data tabelspace menggunakan perintah berikut atau cek data melalui pgadmin

b. Changing Tablespaces
- Changing Tablespaces merupakan cara untuk mengganti/mengubah nama, pemilik
atau parameter yang ada pada tablespace menggunakan perintah Alter Tablespace.
- Contoh penggunaan ingin merubah nama tablespace ts_primary menjadi dvdrental
maka gunakan perintah berikut

- Selanjutnya jika ingin mengubah kepemilikan maka gunakan perintah berikut

25
c. Delete Tablespaces
- Deleter tablespace merupakan fungsi untuk menghapus tablespaces yang ada
menggunakan perintah Drop Tablespace, disini kita akan menghapus tablespace
dari dvdrental maka gunakan perintah berikut

- Ketika ingin di drop tetapi eror ternyata tablespace dalam keadaan tidak kosong
maka gunakan query berikut masuk dulu ke dalam pemilik dengan perintah \c lalu
ulangin perintah drop nya.

4. Managing Roles dan Privileges


a. Create Roles
- Roles merupakan sebuah peran yang mana berfungsi sebagai mempresentasikan
akun pengguna, dalam postgres peran yang dapat masuk ke server PostgreSQL
disebut peran login. Peran ini setara dengan akun pengguna di sistem database lain.
Ketika peran berisi peran lain, mereka disebut sebagai peran grup.
Saat membuat sebuah roles, roles tersebut berlaku di semua database dalam server
database (atau cluster). Berikut merupakan contoh statement pembuatan Create
Roles.

- Maka dalam perintah diatas akan membuat sebuah role useradmin, selanjutnya
untuk mengambil/menggunakan peran di server PostgreSQL saat ini, dapat
melakukan kueri dari katalog sistem pg_role sebagai berikut dengan outputnya:

26
- Dan untuk melihat role yang ada dibuat dapat menggunakan perintah \du

- Selanjutnya atribut peran / role attribut, Atribut peran menentukan hak istimewa
untuk peran tersebut, termasuk login, status pengguna super, pembuatan basis data,
pembuatan peran, manajemen kata sandi, dan sebagainya. Perhatikan perintah
membuat role atribut berikut bernama alice yang memiliki hak akses masuk dan
kata sandi awal:

Sekarang, Anda dapat menggunakan role alice untuk masuk ke server basis data
PostgreSQL menggunakan alat klien seperti dibawah ini dan memasukkan sandi
create role tadi

- Anda juga bisa membuat SuperUser role dengan perintah berikut.

- Anda juga dapat membuat role dengan memiliki masa yang berlaku

- Anda juga bisa membuat role dengan memiliki connection limit atau batas koneksi
pada role tersebut.

b. Grant
- Grant merupakan pemberian hak istimewa pada objek basis data ke suatu role,
Setelah membuat role dengan atribut LOGIN, role dapat masuk ke server database
PostgreSQL. Namun, role tidak dapat melakukan apa pun pada objek database

27
seperti tabel, tampilan, fungsi, dll. Sebagai contoh, role tidak dapat memilih data
dari tabel atau menjalankan fungsi tertentu.
- Untuk mengizinkan role berinteraksi dengan objek database, Anda perlu
memberikan hak istimewa pada objek database kepada role menggunakan
pernyataan GRANT. Dengan membuat dulu role lalu membuat table isi dari role.

- Kita tadi telah membuat role john dan buat table seperti berikut.

- Masuke ke dalam role john deengan perintah psql -U john dan data dari tabel
kandidiat dengan perintah berikut.

- Maka akan muncul pemberitahuan bahwa role john tidak memiliki hak istimewa,
berikan hak istimewa dengan perintah berikut.

- Sekarang beberapa cara penggunaan grant


- Memberikan semua hak istimewa pada sebuah tabel kepada sebuah peran dengan
perintah berikut

- Memberikan semua hak istimewa pada semua tabel dalam skema kepada suatu
peran, Pernyataan berikut ini memberikan semua hak istimewa pada semua tabel
dalam skema publik database sampel dvdrental kepada role john:

- Memberikan role readonly yang hanya dapat memilih data dari semua tabel dalam
skema tertentu. Untuk melakukannya, Anda dapat memberikan hak istimewa
SELECT pada semua tabel dalam skema publik seperti ini

28
c. Revoke
- Revoke merupakan perintah untuk menghapus hak istimewa dari suatu role.
Pernyataan revoke mencabut hak istimewa yang diberikan sebelumnya pada objek
basis data dari suatu peran. Berikut cara penggunaannya.
- Masuk ke dalam user postgres dan database dari dvdrental yang telah ada
- Buat role baru dengan menggunakan login password

- Tambahkan grant di role jim pada table film dan actor

- Selanjutnya lakukan revoke dengan perintah berikut

d. Alter role
- Alter role berfungsi sebagai untuk memodifikasi atribut peran. Berikut adalah
perintah dari pernyataan

- Jika Anda menggunakan role untuk masuk ke server basis data PostgreSQL dan
mengganti nama role tersebut dalam sesi saat ini(active), maka pesan kesalahan
akan muncul.
- Anda juga dapat mengubah default sesi peran untuk variable konfigurasi dengan
menggunakan perintah berikut

e. Drop role
- Drop role berfungsi sebagai perintah menghapus atribut role, berikut cara
penggunaan nya
- Membuat role dan dan database baru

29
- Berikan hak istimewa bernama creatdb pada role alice

- Berikan juga semua hak istimewa pada database sales ke role alice

- Ganti sesi saat ini dengan database sales

- Berikan hak istimewa pada schema public ke role alice

- Keluar pada sesi saat ini dengan perintah ini

- Selanjutnya gunakan role baru tadi untuk membuat database object, dengan perintah
berikut

- Lalu buat table baru pada sales database

- Selanjutnya tampilkan table list pada database sales

- Keluarkan sesi saat ini lagi dengan perintah \q


- Selanjutnya hapus role alice dengan perintah berikut

30
- Selanjutnya jika muncul pesan seperti ini tandanya Role alice tidak dapat dibatalkan
karena memiliki objek yang bergantung.

- Maka ganti dulu sesi dengan menggunakan perintah \c sales


- Lalu menetapkan kembali objek yang dimiliki oleh alice ke postgres

- Selanjutnya lakukan drop yang dimiliki object oleh role dengan perintah berikut dan
lakukan perintah drop role kembali.

f. Role Membership
- Role membership adalah peran yang berfungsi sebagai wadah untuk peran individu
lainnya. Tidak seperti peran individu, yang biasanya mewakili pengguna, peran
grup digunakan untuk mengelola koleksi peran. Biasanya, Anda membuat peran
untuk mewakili grup dan kemudian memberikan keanggotaan dalam peran grup
kepada peran individu. Anda dapat mengelompokkan peran-peran ini ke dalam
sebuah grup, memberikan hak istimewa kepada peran grup, dan semua anggota
peran grup tersebut akan mewarisi hak istimewa tersebut.
- Peran grup dapat memiliki peran individu atau peran grup lain sebagai anggotanya.
Hal ini memungkinkan Anda untuk membuat struktur hierarki di mana Anda dapat
mengelola hak istimewa pada tingkat yang berbeda.
- Peran individu dapat menjadi anggota beberapa peran grup. Hal ini memungkinkan
penetapan izin dan peran yang fleksibel di dalam database.
- Membuat peran grup dapat menggunakan perintah berikut, for example groupu role
bernama alice

- Menambahkan hak istimewa role ke dalam group role alice

31
- Maka role alice akan secara otomatis mewarisi semua hak istimewa dari role grup
penjualan jika role alice memiliki atribut INHERIT.

- Selanjutnya berikan hak akses pada tabel rental dari database sales

- Jika sudah silahkan exit dan masuk kembali ke role alice database dvdrental

- Tampilkan data yang ada pada dvdrental dan liat hasil data grouping nya

- Hapus kembali group-role dengan perintah revoke

g. Set Role
- Set Role digunakan untuk mengubah peran saat ini secara sementara dalam sesi
database
- Contoh penggunaannya

- Buat role baru berikut

- Berikan hak istimewa pada table film di role marketing

32
- Buat role lily baru di dalam role marketing sebagai member

- Hubungkan database dvdrental dengan role lily

- Pada saat di dalam menggunakan role anda bisa mengganti sesi role saat ini
menggunakan perintah berikut

h. Current_user
- Current_user adalah fungsi yang mengembalikan nama pengguna database yang
sedang login. Berikut cara penggunaannya
- Perintah Tampilkan sesi saat ini yang sedang login

i. List Roles
- List roles berfungsi sebagai perintah menampilkan seluruh user account di server
database PostgreSQL saat ini, perintah menampilkannya dapat \du atau \du+

j. Superuser
- Superuser adalah peran khusus dengan hak istimewa tertinggi. Superuser memiliki
akses penuh ke semua database dan tabel. Selain itu, superuser dapat melakukan
tugas-tugas administratif seperti membuat basis data, menghapus basis data,
mengelola peran pengguna, memodifikasi konfigurasi basis data, dan sebagainya.
- Secara default, PostgreSQL memiliki peran superuser yang disebut postgres.
Biasanya, Anda menggunakan peran pengguna postgres untuk melakukan tugas-
tugas administratif dan tidak perlu membuat pengguna tambahan dengan hak
superuser.

33
- Namun, jika Anda membutuhkan peran superuser tambahan, Anda dapat
membuatnya menggunakan pernyataan Create role atau mengubah pengguna biasa
menjadi superuser menggunakan pernyataan Alter role. Berikut perintah untuk
memberikan superuser

k. Row level security


- Row level security adalah fitur yang memungkinkan Anda membatasi baris yang
dikembalikan oleh kueri berdasarkan pengguna yang menjalankan kueri.
- RLS memungkinkan Anda untuk mengontrol akses ke setiap baris dalam tabel
berdasarkan pengguna saat ini dan kondisi tertentu yang ditentukan oleh kebijakan.
- Langkah-langkah dasar untuk menerapkan keamanan tingkat baris adalah sebagai
berikut:
- Pertama, aktifkan keamanan tingkat baris pada tabel menggunakan pernyataan
ALTER TABEL:

- Selanjutnya buat table baru row level security menggunakan create policy

- Perhatikan bahwa pengguna super dan peran dengan atribut BYPASSRLS dapat
melewati sistem keamanan baris saat mengakses tabel. Untuk memberlakukan
keamanan tingkat baris kepada pemilik tabel, Anda dapat memodifikasi tabel
menggunakan opsi FORCE ROW LEVEL SECURITY:

- Contoh silahkan buat database baru bernama hr

- Ubah basis data saat ini ke hr

- Buat tabel baru bernama departemen untuk menyimpan data departemen

34
- Masukan data

- Buat sebuah role grup bernama managers

- Berikan hak istimewa SELECT dari semua tabel dalam skema publik kepada
manajer role grup

- Buat tiga role baru alice, bob, peter dan tetapkan mereka sebagai anggota role grup
manajer

- Aktifkan keamanan tingkat baris pada tabel departemen

- Buat kebijakan bahwa pengguna saat ini dapat mengakses baris yang nilainya di
kolom manajer pada tabel departemen sesuai dengan nama role saat ini

35
- Sambungkan ke database hr menggunakan role alice dalam sesi terpisah

- Mengambil data dari tabel departemen

- Sambungkan ke database hr menggunakan role bob dalam sesi terpisah

- Tampilkan data dari departemen table

5. Backup & Restore Databases


a. Backup
- Bakcup adalah suatu salinan data yang dapat Anda gunakan untuk memulihkan
basis data kembali. Biasanya, backup mencakup semua atau sebagian data, skema,
dan pengaturan konfigurasi yang diperlukan untuk memulihkan basis data ke
kondisi yang diinginkan.
- Fungsi mencadangkan basis data PostgreSQL secara teratur adalah untuk mencegah
kehilangan data jika terjadi kesalahan manusia, kegagalan perangkat keras,
bencana, atau keadaan tak terduga lainnya.
- Terdapat 2 jenis pertimbangan dalam backup yaitu:
Pencadangan logis dan Pencadangan fisik
- PostgreSQL dilengkapi dengan alat pg_dump dan pg_dumpall yang membantu
Anda melakukan pencadangan logis secara efektif.
- pg_dump adalah utilitas baris perintah yang dapat Anda gunakan untuk membuat
cadangan logis dari basis data PostgreSQL. pg_dump mengekstrak basis data
PostgreSQL ke dalam sebuah berkas skrip atau berkas arsip lainnya. File ini
mewakili snapshot dari database pada saat pg_dump mulai berjalan.
- pg_dumpall adalah utilitas baris perintah yang dapat Anda gunakan untuk membuat
cadangan logis dari seluruh klaster PostgreSQL, termasuk semua database, skema,
peran, dan objek di seluruh klaster.
- Berikut contoh cara backup mencadangkan basis data tunggal menggunakan utilitas
pg_dump jalankan pg_dump berikut ini untuk mencadangkan basis data dvdrental
pada server lokal:

36
- Selanjutnya cara menggunakan pg_dumpall yaitu

- Perintah ini akan meminta Anda memasukkan kata sandi untuk setiap basis data
dalam server PostgreSQL. Untuk menyembunyikan prompt kata sandi, Anda dapat
menggunakan opsi -w
- Terakhir anda juga bisa mencadangkan objek basis data menggunakan utilitas
pg_dumpall. Terkadang, Anda hanya ingin mencadangkan definisi objek database,
bukan datanya. Hal ini sangat membantu dalam tahap pengujian, di mana Anda
tidak ingin memindahkan data pengujian ke sistem live. Untuk mencadangkan
objek di semua basis data, termasuk peran, ruang tabel, basis data, skema, tabel,
indeks, pemicu, fungsi, batasan, tampilan, kepemilikan, dan hak istimewa
perhatikan perintah berikut.

- Jika Anda ingin mencadangkan definisi roles saja, gunakan perintah berikut

- Jika Anda ingin mencadangkan definisi tablespaces, gunakan perintah berikut

Analisa :
Pada praktikum ini pembahasan langkah kerja pengenalan postgresSQL dirincikan
dengan lengkap mulai saat proses donwload file hingga pengenalan adiministrasi penting
yang ada pada postgresql, setiap langkah-langkah pengerjaan dilakukan secara terurut untuk
memahami pengenalan postgresSQL bagi pemula.
Dalam membangun sebuah server dibutuhkan 2 aplikasi yaitu PostgreSQL sebagai
database servernya dan DBeaver sebagai klien Tools DBMS untuk mengelola berbagai jenis
data rasional maupun non-rasional pada PostgresSQL. Kita dapat mengubungkan server
postgres melalui PgAdmin 4 tools DBMS bawaan postgres atau dengan DBeaver, dengan
mempelajari cara managing database, managing schema, managing tablespace, managing
roles & privileges serta backup kita dapat mengetahui fungsi-fungsi dari apa itu sebuah
administrasi dalam database server.

37
BAB III
PENUTUP

A. KESIMPULAN
Mempelajari pengenalan penggunaan PostgresSQL merupakan sebagai
seorang yang ahli ingin menjadi Administrasi Basis Data untuk mengelola sebuah
suatu server. PostgresSQL memudahkan para administrasi karena memiliki fitur-fitur
yang kuat dalam pengelolaan, diantara lain kita dapat mengetahui dan memahami
bagaimana cara mengelola sebuah database, schemas dan tablespace pada sebuah
server.

38
BAB IV
DAFTAR PUSTAKA

CloudHost ID (2021, 27 Desember). Mengenal Apa itu PostgresSQL. Diperoleh 15


Maret 2024. https://idcloudhost.com/panduan/mengenal-postgresql-pengertian/
Hyperskill (2014, 15 Juli). Introduction to PostgreSQL. Diperoleh 15 Maret 2024.
https://hyperskill.org/learn/step/17974
Hostingertutorial (2023, 01 Maret). Apa Itu Skema Database? Pengertian dan
Contohnya Lengkap. Diperoleh 15 Maret 2024. https://www.hostinger.co.id/tutorial/skema-
database
Skodev (2024, 01 Maret). Apa itu Database Schema Pengertian dan Informasi.
Diperoleh 15 Maret 2024. https://sko.dev/wiki/database-schema

39

Anda mungkin juga menyukai