Merubah Owner Suatu Table di PostgreSQL

Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL
Masih dengan DBMS PostgreSQL, dan hanya sekedar untuk catatan tentang Owner atau Kepemilikan suatu Table yang pasti ada kaitannya dengan Peringatan Error "Permission Denied".

Agar lebih mudah dalam penjelasan, coba kita buat suatu kasus sebagai berikut :







1. Masuk postgreSQL dengan perintah berikut :
$ psql
dan hasilnya :
postgres=#
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

Ok, bisa dilihat tanda setelah "=" yaitu tanda "#" bisa diartikan adalah root, artinya user dengan hak akses root mempunya hak penuh atas kepemilikannya, misal Database atau Table.

2. Selanjutnya coba buat user dengan perintah berikut :
# create user abby;
dan tambahkan password :
# \password abby;
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL


3.  Kemudian coba buat lagi user yang berbeda :

# create user dika;
# \password dika;

Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

untuk melihat user bisa dengan perintah query berikut :
# select * from pg_user;

4. Buat Database :
# create database mydb;
dan lihat owner  dari database tersebut :
# \l
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

5. Rubah Owner database mydb ke user abby :
# alter database mydb owner to abby;
dan lihat owner dari databasenya :
# \l

Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

6. Keluar dan Masuk ke Database mydb dengan user abby;
# \q
# psql mydb abby;
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL
 perbedaan user abby dengan postgres  bisa dilihat di tanda "#" dan ">" artinya user abby tidah mempunyai hak penuh seperti user postgres.

7. Buat Table dengan nama table_abby :
> create table table_abby (id char(2),nama varchar(10));
hasilnya :
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

8. Sekarang coba keluar dan Masuk ke Database mydb dengan User dika :
> \q
> psql mydb dika;
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

9. Buat Table dengan nama table_dika :
> create table table_dika (id char(2),nama varchar(10));
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

10. Sekarang coba rubah owner user untuk masing-masing table :
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

dan lihat ownernya :
> \d
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL
 
Masih dengan user dika, untuk mencobanya , Lakukan perintah Insert untuk table_abby :

> INSERT INTO table_abby values ('1','nama');
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

Muncul Pesan Error "Permission Denied"

dan sekarang Lakukan perintah Insert untuk table_dika :
> INSERT INTO table_dika values ('1','nama');
Merubah Owner atau Kepemilikan Database dan Table di PostgreSQL

 Mungkin dari hasil diatas bisa di mengerti apa Owner itu dari suatu Table ..

Semoga Membantu..


EmoticonEmoticon