Cara Mereset Urutan di PostgreSQL

Cara Mereset Urutan Di Postgresql



Menggunakan urutan PostgreSQL adalah cara efektif untuk bekerja dengan nilai kenaikan otomatis, terutama untuk kunci utama. Jika nilai awal tidak ditentukan, kenaikan otomatis untuk INT akan dimulai dari 0. Namun, Anda dapat menentukan nilai awal yang akan digunakan untuk urutan di kolom kenaikan otomatis.

Selain itu, jika Anda menghadapi situasi yang mengharuskan Anda mengubah nilai berikutnya dalam urutan, Anda dapat dengan cepat mengatur ulang urutan dan menentukan nilai apa yang akan digunakan untuk memulai entri berikutnya dalam tabel. Semua detail yang perlu Anda ketahui mengenai cara mereset urutan di PostgreSQL dirinci dalam posting ini. Lihatlah!

Contoh Cara Reset Sequence di PostgreSQL

Dengan kolom INT, Anda bisa membuat urutan kenaikan otomatis dan menggunakannya sebagai kunci utama untuk tabel Anda. Dengan begitu, Anda tidak perlu memasukkan nilainya saat menjalankan kueri INSERT karena nilai integer akan dihasilkan secara otomatis. Dengan urutan yang dibuat, perintah ALTER SEQUENCE memungkinkan Anda memulai ulang urutan dan menentukan nilai awal baru untuk entri baru.







Untuk contoh ini, kita akan bekerja dengan tabel “detail_pengguna” berikut. Fokus kami adalah kolom “user_id” yang merupakan urutan kenaikan otomatis mulai dari 100.





Untuk membuat daftar urutan berbeda dalam database Anda, jalankan perintah berikut:





\ds

Untuk kasus kami, kami menargetkan urutan “user_id”.



Untuk mendapatkan rincian lebih lanjut tentang urutannya, jalankan kueri “pilih” seperti yang ditunjukkan berikut ini:

PILIH * DARI nama_urutan;

Kita dapat melihat bahwa nilai terakhir dalam urutan yang ada adalah 104. Kita menyetel ulang nilai ini dan menentukan nilai baru yang akan dimiliki entri baru.

Untuk mereset urutan PostgreSQL, gunakan perintah berikut:

ALTER URUTAN sequence_name MULAI ULANG DENGAN nilai;

Untuk kasus kita, katakanlah kita ingin memulai ulang urutan dan memulai entri baru pada 20. Setelah menjalankan perintah berikut, kita mendapatkan keluaran, seperti yang ditunjukkan berikut ini, yang mengonfirmasi bahwa urutan telah diubah.

Jika kita menjalankan kembali perintah sebelumnya untuk mendapatkan rincian urutan kita menggunakan pernyataan SELECT, kita dapat melihat bahwa “nilai_akhir” yang baru untuk kasus ini adalah nilai yang kita tentukan dengan perintah ALTER.

Mari masukkan entri baru ke dalam tabel kita untuk melihat apa yang terjadi. Gambar berikut menunjukkan query INSERT dan hasil yang kita dapatkan setelah menjalankan pernyataan SELECT. Perhatikan bagaimana entri baru “user_id” disetel ke 20. Semua entri baru yang kita buat akan “user_id” dihasilkan berdasarkan nilai terakhir yaitu 20.

Jika kita membuat input lain, “user_id”-nya akan menjadi 21 dan urutannya akan dilanjutkan menggunakan logika yang sama. Begitulah cara Anda menyetel ulang urutan di PostgreSQL. Perhatikan bahwa perintah “reset” tidak mempengaruhi catatan yang ada. Ini hanya menentukan nilai awal baru untuk entri yang Anda buat setelah mengatur ulang urutannya.

Kesimpulan

Dengan PostgreSQL, memiliki cara untuk menghasilkan nilai integer secara otomatis di kolom kunci utama Anda menyederhanakan banyak hal. Jika Anda sudah memiliki sequence, Anda dapat menggunakan ALTER SEQUENCE
perintah dengan opsi RESTART WITH untuk menentukan urutan mana yang ingin Anda atur ulang dan nilai apa yang akan ditetapkan sebagai nilai terakhir dalam urutan tersebut. Dengan begitu, entri baru akan menghasilkan nilai integer berdasarkan nilai terakhir yang baru. Lihat contoh yang disajikan untuk memahami cara kerja pengaturan ulang urutan PostgreSQL.