Untuk mengganti nama tabel di PostgreSQL, gunakan perintah ALTER TABLE diikuti klausa RENAME TO.
Sebelum Anda lanjut membaca, saya ingin memperkenalkan GUI PostgreSQL open source kami, Beekeeper Studio. Anda bisa mengganti nama tabel cukup dengan klik kanan pada tabel di sidebar, dan gratis untuk PostgreSQL. Unduh di sini.
Sintaks
ALTER TABLE old_table_name RENAME TO new_table_name;
Contoh
Misalkan Anda punya tabel bernama customers dan ingin mengganti namanya menjadi clients. Perintah SQL-nya adalah:
ALTER TABLE customers RENAME TO clients;
Setelah menjalankan perintah di atas, tabel customers akan berganti nama menjadi clients. Anda bisa memverifikasi perubahan nama dengan melakukan query ke information_schema atau cukup menampilkan semua tabel menggunakan \d:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public';
Output yang Diharapkan:
table_name
--------------
clients
other_table
Mengganti Nama Tabel yang Memiliki Dependensi
Saat mengganti nama tabel, penting untuk memperhatikan dependensi yang ada, seperti foreign key, index, atau trigger. PostgreSQL seharusnya menanganinya secara otomatis dengan memperbarui referensi ke tabel yang diganti namanya.
Contoh dengan Foreign Key
Anggap tabel orders memiliki foreign key yang mereferensikan tabel customers:
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_id INT REFERENCES customers(customer_id)
);
Saat Anda mengganti nama customers menjadi clients, PostgreSQL otomatis memperbarui referensi foreign key:
ALTER TABLE customers RENAME TO clients;
Verifikasi
Untuk memastikan foreign key masih berfungsi, Anda bisa menjalankan perintah INSERT sederhana:
INSERT INTO clients (customer_id) VALUES (1);
INSERT INTO orders (customer_id) VALUES (1);
Jika referensi foreign key tidak diperbarui, INSERT kedua akan gagal. Jika berhasil, berarti PostgreSQL telah memperbarui referensi dengan benar.
Mengganti Nama Tabel di Dalam Schema
Jika tabel Anda berada di schema tertentu, Anda perlu menyertakan schema tersebut dalam perintah ALTER TABLE.
Contoh
Misalnya ada tabel sales.customers di dalam schema sales:
ALTER TABLE sales.customers RENAME TO clients;
Tabel sales.customers kini menjadi sales.clients. Anda bisa memverifikasinya dengan menampilkan daftar tabel di schema sales:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'sales';
Output yang Diharapkan
table_name
-----------
clients
other_table
Menggunakan Beekeeper Studio
Mengganti nama tabel di Beekeeper Studio sangat mudah:
- Hubungkan ke database PostgreSQL Anda menggunakan Beekeeper Studio.
- Di panel kiri, buka schema yang berisi tabel tersebut, dan Anda akan melihat daftar tabel.
- Klik kanan tabel yang ingin diganti namanya, lalu pilih opsi
rename table. - Masukkan nama tabel baru dan tekan Enter.
Beekeeper Studio akan mengurus sisanya dengan mengirimkan perintah SQL yang sesuai ke database PostgreSQL Anda.
Hal yang Perlu Diperhatikan dan Best Practice
-
Nama Index dan Constraint: Meskipun PostgreSQL otomatis memperbarui dependensi seperti foreign key, PostgreSQL tidak mengganti nama index atau constraint. Jika nama index atau constraint Anda mengandung nama tabel lama, Anda mungkin perlu mengganti namanya secara manual.
-
Hak Akses: Mengganti nama tabel tidak memengaruhi hak aksesnya. Pengguna yang punya akses ke tabel lama akan memiliki akses yang sama ke tabel yang diganti namanya.
-
Dependensi View: Jika ada view yang bergantung pada tabel tersebut, view itu tetap berfungsi setelah penggantian nama, tetapi Anda mungkin ingin meninjau dan memperbaruinya agar lebih jelas.
Kesimpulan
Mengganti nama tabel di PostgreSQL adalah operasi yang sederhana namun penting. Baik saat bekerja dengan tabel di schema berbeda maupun tabel yang memiliki dependensi, PostgreSQL menangani prosesnya dengan mulus dan memastikan semua referensi diperbarui dengan benar. Dengan mengikuti best practice dan memahami cara kerja proses penggantian nama, Anda dapat menjaga integritas dan keteraturan database Anda.
Artikel lain yang mungkin Anda sukai:
Beekeeper Studio Adalah GUI PostgreSQL Gratis & Open Source
Inilah client PostgreSQL yang selama ini saya cari! UI-nya yang membuatnya beda: bersih, intuitif, dan powerful. Selamat tinggal PGAdmin yang kaku. - David Cyprian
Beekeeper Studio adalah client PostgreSQL yang cepat, intuitif, dan mudah digunakan. Mendukung banyak database lain juga, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna PostgreSQL Tentang Beekeeper Studio
Tidak seperti pgAdmin, Beekeeper sangat mudah digunakan tanpa kekurangan fitur–dan harganya pas! Fitur backup database-nya sangat berguna. Software yang luar biasa.
Tool yang luar biasa, IDE paling praktis yang saya temukan sejauh ini untuk admin db Postgres dan MySql - langsung jalan, tanpa ribet :-)