Seiring dengan jumlah data yang terus bertambah dari waktu ke waktu membuat data tersebut melampaui ruang (space) pada sistem file asli. Maka dari itu, untuk alasan keamanan data, kita dapat melakukan pemindahan direktori data ke lokasi baru untuk memaksimalkan kinerja storage. Dalam artikel ini, kita akan mempelajari tahap-tahap untuk memindahkan atau mengubah lokasi data dari PostgreSQL database ke lokasi baru pada Linux Mint 18.00 dan dengan menggunakan database PostgreSQL V 10.3. Untuk tutorial kali ini, kita akan memindahkan data ke perangkat penyimpanan yang dipasang pada: (/usr/local/postgres/10.3) secara default database postgres akan terinstal di (/var/lib/postgres/10.3/main).
Jika Anda akan memindahkan data yang tersedia saat ini ke direktori baru, pastikan Anda telah membackup data dan menguji proses backup sebelum mengikuti tahap-tahap di bawah.
Langkah 1: Memindahkan Direktori Data PostgreSQL
Untuk mempersiapkan pemindahan direktori data PostgreSQL, kita harus melakukan verifikasi lokasi yang digunakan saat ini dengan menyalakan instance Postgresql. Gunakan psql yang merupakan perintah untuk memasuki monitor interaktif:
$ psql
Setelah Anda memasuki monitor, Anda bisa mengecek direktori data baru dengan perintah:
postgres=# show data_directory;
Output:
data_directory
——————————–
/var/lib/postgres/10.3/main
Hasil atau output ini mengonfirmasi bahwa data default PostgreSQL yang telah terkonfigurasi untuk menggunakan /var/lib/postgres/10.3/main, dan menjelaskan bahwa direktori tersebut yang nantinya akan kita pindahkan. Setelah Anda mengkonfirmasi direktori di sistem Anda, ketik \q untuk keluar.
Untuk memastikan integritas data, Anda harus mematikan PostgreSQL sebelum Anda melakukan perubahan direktori data:
$ sudo systemctl stop postgresql
Systemctl tidak dapat menampilkan hasil dari semua perintah. Maka dari itu, untuk memastikan bahwa Anda telah berhasil, gunakan perintah berikut:
$ sudo systemctl status postgresql
Anda dapat mengonfirmasi bahwa proses bisa dimatikan jika baris terakhir dari output memberi tahu Anda bahwa server telah dihentikan:
Output:
……………..
Jun 26 11:41:49 unknown systemd[1]: Started PostgreSQL RDBMS.
Jun 26 15:50:41 unknown systemd[1]: Stopped PostgreSQL RDBMS.
Setelah instance dimatikan, Anda dapat menyalin direktori basis data yang ada ke lokasi baru dengan rsync.
$ rsync -av /var/lib/postgres/usr/local/postgres/10.3
Penggunaan –a flag bertujuan untuk mempertahankan perizinan dan properti pada direktori lain, dan –v untuk menyediakan output verbose sehingga Anda dapat mengetahui perkembangannya.
Setelah penyalinan selesai, Anda dapat mengganti nama folder dengan ekstensi .bak dan menyimpannya hingga Anda mendapat konfirmasi bahwa langkah tersebut berhasil. Memberikan nama di lokasi baru bertujuan untuk menghindari Anda dari kebingungan antara file di lokasi baru dan di lokasi lama:
mv /var/lib/postgres/10.3/main /var/lib/postgres/10.3/main.bak
Langkah 2: Menentukan Lokasi Data yang Baru
Secara default, direktori data telah diatur pada /var/lib/postgres/10.3/main yang ada pada file/etc/postgres/10.3/main/postgresql.conf. File ini akan memberitahu bahwa data PostgreSQL sudah berada di direktori baru:
$ nano /etc/postgres/10.3/main/postgresql.conf
Langkah 3: Restarting PostgreSQL
Anda telah siap untuk memulai data PostgreSQL pada direktori baru.
$ sudo systemctl start postgresql
$ sudo systemctl status postgresql
Untuk memastikan bahwa direktori data baru sedang digunakan, Anda dapat mengecek PostgreSQL dengan perintah:
$ sudo -u postgres psql
Lihat dan pastikan kembali nilai dari direktori data Anda:
postgres =# SHOW data_directory;
Output data_directory —————————————– /usr/local/postgres/10.3/main (1 row) |
Setelah Anda melakukan restart pada PostgreSQL dan mengonfirmasi bahwa PostgreSQL telah menggunakan lokasi yang baru, sempatkan diri Anda untuk memastikan bahwa data basis Anda berfungsi sepenuhnya. Jika telah memverifikasi semua integrasi data, Anda dapat menghapus direktori data cadangan:
$ sudo rm -Rf /var/lib/postgres/10.3/main.bak
Restart PostgreSQL sekali lagi, untuk memastikan semua berfungsi dengan baik:
$ sudo systemctl restart postgresql
$ sudo systemctl status postgresql
Jika Anda mengikuti tahap-tahap di atas dengan baik, maka Anda telah berhasil memindahkan data PostgreSQL ke lokasi baru. Dengan melakukan pemindahan direktori data ke lokasi baru, selain dapat menyimpan lebih banyak data, Anda juga telah berhasil melakukan scale-up pada storage Anda sehingga memberikan peluang yang lebih besar untuk Anda dalam meningkatkan produktifitas dan performance bisnis.
About i3:
PT Inovasi Informatika Indonesia (i3) membantu profesional TI Indonesia dalam mencapai potensi terbaiknya. Kami menyelenggarakan pelatihan teknologi dari beberapa principal terkemuka seperti CompTIA, EC-Council, Dell EMC, Oracle, Red Hat, dan VMware.
Selain sebagai lembaga training IT yang sering direkomendasikan oleh praktis TI, I3 juga menawarkan jasa IT Services di empat bidang utama keahlian, yaitu: Open Source, Virtualisasi, Database, dan IT Security. Semua training dan services ditangani oleh instruktur dan konsultan yang berpengalaman dan memiliki sertifikasi internasional. Informasi lebih lanjut tentang jadwal pelatihan dan layanan TI, Anda dapat menghubungi kami melalui info@i-3.co.id