Panduan Penyelesaian Masalah PostgreSQL ServBay
PostgreSQL ialah sistem pangkalan data objek-relasi sumber terbuka yang sangat berkuasa dan kaya dengan fungsi, digunakan secara meluas dalam pelbagai aplikasi web dan senario penyimpanan data. Sebagai salah satu pakej utama dalam persekitaran pembangunan tempatan ServBay, PostgreSQL lazimnya berjalan stabil. Namun, anda mungkin mengalami masalah seperti pakej PostgreSQL gagal memulakan, sambungan bermasalah, prestasi menurun, atau isu capaian data dalam keadaan tertentu.
Dokumen ini bertujuan memberikan panduan penyelesaian masalah PostgreSQL yang terperinci kepada pembangun yang menggunakan ServBay. Kami akan membentangkan masalah lazim, langkah diagnosis serta penyelesaiannya dalam pakej PostgreSQL di ServBay. ServBay menyokong sistem operasi macOS dan Windows serta menggabungkan pelbagai versi pakej PostgreSQL—oleh itu, anda mungkin perlu menentukan versi spesifik, fail konfigurasi, atau laluan direktori data semasa menjalankan diagnosis atau pembaikan.
Ringkasan
Panduan ini menekankan isu teknikal yang mungkin anda temui semasa mengurus dan menggunakan pakej PostgreSQL dalam persekitaran ServBay. Kami mulakan dengan isu permulaan dan sambungan yang biasa, kemudian menjurus kepada masalah prestasi, runtuhan tak dijangka, serta sandaran dan pemulihan bagi senario yang lebih kompleks. Dengan mengikuti langkah-langkah yang disediakan, anda akan dapat mendiagnos dan menyelesaikan kebanyakan isu berkaitan PostgreSQL.
Prasyarat
Sebelum memulakan proses penyelesaian masalah, pastikan anda memenuhi syarat-syarat berikut:
- ServBay telah berjaya dipasang dan dijalankan.
- Anda telah memasang versi pakej PostgreSQL yang bermasalah melalui ServBay.
- Memiliki pengetahuan asas mengenai operasi baris perintah.
- Tahu lokasi fail konfigurasi dan laluan direktori data bagi pakej PostgreSQL anda.
- macOS:
/Applications/ServBay/db/postgresql/<version>
- Windows:
C:\ServBay\db\postgresql\<version>
- macOS:
- Tahu nama pangkalan data, nama pengguna dan kata laluan yang digunakan untuk sambungan.
Isu Biasa & Penyelesaian
1. Pakej PostgreSQL Gagal Memulakan
Jika anda cuba memulakan pakej PostgreSQL melalui ServBay tetapi statusnya kekal berhenti atau gagal, beberapa faktor berikut mungkin menjadi punca:
Punca Mungkin
- Kesalahan sintaks atau konflik dalam fail konfigurasi.
- Port yang digunakan PostgreSQL (lalai 5432) telah digunakan oleh proses lain dalam sistem.
- Kebenaran baca/tulis yang tidak mencukupi pada direktori data, fail konfigurasi, atau katalog ServBay/PostgreSQL.
- Direktori data PostgreSQL rosak.
- Masalah pengurusan dalaman ServBay.
Penyelesaian
- Semak Status dan Log GUI ServBay:
Buka aplikasi ServBay dan semak status pakej PostgreSQL. Jika tidak normal, cuba mulakan secara manual melalui GUI. Periksa log utama ServBay ataupun log spesifik PostgreSQL.
Lokasi fail log:
- macOS:
/Applications/ServBay/logs/postgresql/<version>/postgresql-<version>.log
- Windows:
C:\ServBay\logs\postgresql\<version>\postgresql-<version>.log
- Semak Fail Konfigurasi:
Fail konfigurasi utama PostgreSQL ialahpostgresql.conf
. Pastikan tiada kesalahan sintaks, salah eja, atau entri tidak sah.
Lokasi fail konfigurasi (contoh PostgreSQL 13):
- macOS:
/Applications/ServBay/db/postgresql/13/postgresql.conf
- Windows:
C:\ServBay\db\postgresql\13\postgresql.conf
Fail penting lain ialah pg_hba.conf
yang mengawal pengesahan klien. Konfigurasi yang salah boleh menyebabkan masalah sambungan, dan kadang kala menghalang permulaan. Jalur biasanya sama dengan postgresql.conf
.
Walaupun tiada alat baris perintah PostgreSQL untuk "mengesahkan" sintaks fail konfigurasi sepenuhnya, anda boleh mengesan kesilapan dengan melihat log. Alternatifnya, gunakan psql
untuk menyambung ke pangkalan data yang sedang berjalan (mungkin versi lain atau instans sementara) untuk semak konfigurasi. Cara paling langsung adalah menyemak error dalam log.
Untuk pg_hba.conf
, anda boleh semak peraturan dengan arahan SQL selepas berjaya menyambung:
sql
-- Perlu sambungan aktif ke pangkalan data
SELECT * FROM pg_hba_file_rules();
1
2
2
Untuk semak error ketika memuat konfigurasi, guna:
sql
-- Perlu sambungan aktif ke pangkalan data
SELECT sourcefile, name, sourceline, error FROM pg_file_settings WHERE error IS NOT null;
1
2
2
Nota: SQL di atas hanya berkesan jika PostgreSQL sedang berjalan dan boleh disambung. Untuk situasi gagal mula, semak fail log adalah paling kritikal.
- Semak Penggunaan Port:
PostgreSQL lazimnya menggunakan port 5432. Jika port ini telah digunakan oleh proses lain, pakej PostgreSQL tidak akan dapat dimulakan.
Periksa penggunaan port:
macOS:
bash
lsof -i :5432
1
Windows:
cmd
netstat -an | findstr :5432
# Atau guna PowerShell
Get-NetTCPConnection -LocalPort 5432
1
2
3
2
3
Jika arahan ini menghasilkan output, itu bermakna proses lain sedang menggunakan port 5432. Tentukan PID proses dan pertimbang berhenti proses itu atau ubah port pendengaran PostgreSQL (ubah parameter port
dalam postgresql.conf
, kemudian muat semula/mula semula pakej melalui GUI ServBay atau baris perintah servbayctl
).
- Periksa Kebenaran Fail dan Direktori:
ServBay memerlukan kebenaran baca/tulis yang betul pada direktori pemasangan dan sub-direktori. Pastikan proses ServBay (biasanya atas nama pengguna anda) mempunyai hak yang mencukupi ke atas/Applications/ServBay/
dan isi kandungannya.
Periksa kebenaran:
macOS:
bash
ls -ld /Applications/ServBay/db/postgresql/13 # Semak kebenaran direktori data
ls -l /Applications/ServBay/db/postgresql/13/postgresql.conf # Semak kebenaran fail konfigurasi
ls -l /Applications/ServBay/db/postgresql/13/pg_hba.conf # Semak kebenaran fail pengesahan
1
2
3
2
3
Windows:
Melalui Windows Explorer, semak atribut fail dan direktori. Pastikan akaun perkhidmatan ServBay mempunyai kebenaran baca/tulis yang mencukupi.
Jika kebenaran tidak betul, anda mungkin perlu menggunakan chmod
atau chown
(untuk macOS), namun lazimnya tidak perlu dibuat secara manual kerana pengesetan dilakukan sewaktu pemasangan ServBay. Jika terdapat isu kebenaran, ia mungkin berpunca dari pemasangan tidak lengkap atau fail telah diubah secara tidak sengaja.
Periksa Kerosakan Direktori Data:
Direktori data PostgreSQL menyimpan semua fail pangkalan data. Sekiranya rosak (misalnya akibat gangguan kuasa atau ralat cakera), PostgreSQL mungkin gagal bermula. Log biasanya akan menunjukkan tanda kerosakan. Proses pembaikan agak kompleks dan boleh melibatkan kehilangan data. PostgreSQL menyediakan alat sepertipg_resetwal
, namun hanya gunakan selepas membuat sandaran direktori data semasa (walaupun telah rosak).Cuba Restart dengan Perintah ServBay:
Selepas menyemak dan menolak punca di atas, cuba mulakan semula pakej PostgreSQL melalui baris perintah ServBay dengan menentukan versi:bashservbayctl restart postgresql 13
1Atau mulakan semula melalui GUI ServBay.
2. Gagal Bersambung ke PostgreSQL
Walaupun pakej PostgreSQL kelihatan berjalan, anda masih mungkin gagal bersambung menggunakan alat klien seperti psql
, pgAdmin
, atau kod aplikasi.
Punca Mungkin
- Pakej PostgreSQL sebenarnya belum sepenuhnya berfungsi.
- Konfigurasi dalam
pg_hba.conf
tidak membenarkan sambungan anda. - Sambungan dihalang oleh firewall.
- Parameter sambungan (hos, port, nama pangkalan data, pengguna, kata laluan) salah.
- Pengguna tiada hak akses ke pangkalan data.
Penyelesaian
Semak Status Melalui GUI ServBay atau
servbayctl
:
Pastikan status pakej PostgreSQL dalam GUI ServBay adalah “Berjalan”. Jika tidak, rujuk kepada seksyen "Gagal Memulakan Pakej PostgreSQL". Denganservbayctl
:bashservbayctl status postgresql 13
1Pastikan output menunjukkan pakej sedang berjalan.
Semak Konfigurasi Pengesahan
pg_hba.conf
:
Failpg_hba.conf
mengawal sumber hos, pengguna dan pangkalan data mana yang dibenarkan menyambung dan dengan cara apa. Untuk pembangunan tempatan, anda biasanya mahu membenarkan sambungan darilocalhost
atau127.0.0.1
.
Lokasi fail:
- macOS:
/Applications/ServBay/db/postgresql/13/pg_hba.conf
- Windows:
C:\ServBay\db\postgresql\13\pg_hba.conf
Contoh peraturan untuk membenarkan pengguna demo ServBay menyambung dengan pengesahan md5:
ini
# TYPE DATABASE USER ADDRESS METHOD
host all servbay-demo 127.0.0.1/32 md5
host all servbay-demo ::1/128 md5
1
2
3
2
3
Ubah suai pg_hba.conf
dan muat semula konfigurasi (tanpa restart penuh):
bash
servbayctl reload postgresql 13
1
Atau gunakan GUI ServBay.
- Semak Tetapan Firewall:macOS:
bash
# Tambahkan aplikasi ke senarai dibenarkan
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/ServBay/bin/postgres
# Pastikan aplikasi tidak disekat
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/ServBay/bin/postgres
1
2
3
4
2
3
4
Windows:
Semak Tetapan Windows Defender Firewall atau firewall pihak ketiga. Tambahkan aplikasi atau aturan port dibenarkan:
cmd
# Benarkan program melalui firewall
netsh advfirewall firewall add rule name="ServBay PostgreSQL" dir=in action=allow program="C:\ServBay\bin\postgresql\<version>\bin\postgres.exe"
1
2
2
Semak Parameter Sambungan dan Hak Pengguna:
Pastikan nama hos (biasanyalocalhost
atau127.0.0.1
), port (5432 lalai), nama pangkalan data, nama pengguna dan kata laluan adalah betul dalam rentetan sambungan atau alat klien. Uji denganpsql
:bashpsql -U your_username -d your_database -h localhost -p 5432
1Gantikan
your_username
danyour_database
dengan nilai sebenar. Jika sambungan berjaya, anda akan dapatpsql
prompt. Jika gagal, error akan menunjukkan sebab (mis. kata laluan salah, pangkalan data tiada, hak tidak cukup dsb).Jika boleh bersambung tetapi tidak boleh akses pangkalan data atau jadual tertentu, kemungkinan isu hak pengguna. Dalam
psql
, semak peranan dan hak guna arahan berikut:sql-- Jalankan dalam psql \du
1
2Jika perlu, gunakan akaun dengan hak lebih tinggi (mis.
postgres
) untuk memberikan hak dengan arahanGRANT
.
3. Masalah Prestasi
Pakej PostgreSQL boleh dimulakan dan disambung, tetapi respons kueri perlahan membawa kepada isu prestasi.
Punca Mungkin
- Kueri SQL yang tidak dioptimumkan.
- Reka bentuk skema pangkalan data yang tidak efisien.
- Parameter konfigurasi memori, cache dan I/O tidak sesuai.
- Kurang indeks yang diperlukan.
- Sumber perkakasan tidak mencukupi (CPU, memori, I/O cakera).
- Statistik pangkalan data sudah usang.
Penyelesaian
Analisis dan Optimumkan Kueri:
GunakanEXPLAIN
atauEXPLAIN ANALYZE
untuk menganalisis pelaksanaan kueri perlahan. Ini menunjukkan sama ada indeks digunakan, urutan gabungan jadual, jenis imbasan dan bottleneck prestasi.sql-- Jalankan dalam psql atau klien SQL lain EXPLAIN ANALYZE SELECT * FROM your_table_name WHERE column_name = 'value';
1
2Berdasarkan hasil, pertimbang penulisan semula kueri, menambah indeks atau ubah suai struktur pangkalan data.
Laraskan Parameter Konfigurasi PostgreSQL:
postgresql.conf
mengandungi banyak parameter yang sangat mempengaruhi prestasi, terutamanya berkaitan memori dan storan.shared_buffers
: Menetapkan jumlah memori cache untuk data pangkalan data PostgreSQL. Nilai lebih tinggi boleh meningkatkan prestasi tetapi disyorkan tidak melebihi ~25% memori sistem.work_mem
: Memori untuk operasi dalaman seperti pengisihan dan hash. Kueri melibatkan pengisihan/operasi hash banyak, tingkatkan nilai ini untuk elak tulis data ke cakera sementara.
Ubah mengikut sumber sistem dan beban kerja anda. Selepas ubah suai dalam
postgresql.conf
, muat semula atau restart pakej PostgreSQL untuk berkuat kuasa.ini# Contoh: Laras ikut memori sistem anda shared_buffers = 1GB # Sebagai contoh, jika sistem ada 4GB RAM work_mem = 64MB # Laras ikut keperluan kueri
1
2
3Cipta Indeks Yang Sesuai:
Membina indeks untuk kolum yang sering digunakan dalam WHERE, JOIN, atau ORDER BY sangat mempercepatkan kueri. GunakanEXPLAIN
untuk tentukan kolum yang patut diindeks.sql-- Contoh: Cipta indeks untuk kolum column_name dalam your_table_name CREATE INDEX idx_column_name ON your_table_name(column_name);
1
2Terlalu banyak indeks boleh melambatkan operasi tulis dan meningkatkan penggunaan ruang cakera, jadi hanya buat indeks yang benar-benar diperlukan.
Kemas Kini Statistik:
Pengoptimum kueri PostgreSQL bergantung pada statistik kandungan jadual & indeks. Jika data banyak berubah, statistik boleh jadi usang dan mempengaruhi prestasi. JalankanANALYZE
secara berkala:sql-- Kemas kini seluruh pangkalan data ANALYZE; -- Atau jadual tertentu ANALYZE your_table_name;
1
2
3
4ServBay lazimnya telah mengaktifkan pembersihan automatik (autovacuum), tetapi analisis manual berguna untuk diagnosis isu prestasi.
Semak Sumber Perkakasan:
Walaupun ServBay ialah persekitaran pembangunan tempatan, projek pangkalan data besar atau kueri kompleks boleh membebankan CPU, RAM, dan cakera (terutamanya jika cakera mekanikal bukan SSD). Gunakan Activity Monitor di macOS untuk semak penggunaan sumber (CPU, RAM, cakera, rangkaian).
4. Runtuhan Pangkalan Data
Pakej PostgreSQL tiba-tiba berhenti atau tidak responsif—menunjukkan kemungkinan berlakunya runtuhan.
Punca Mungkin
- Masalah perkakasan seperti kesilapan memori atau cakera.
- Isu sistem operasi atau keterbatasan sumber.
- Bug pada PostgreSQL (jarang, biasanya versi spesifik atau senario kompleks).
- Direktori data rosak.
- Konfigurasi yang menyebabkan habis sumber (misalnya sambungan terlalu banyak).
Penyelesaian
- Semak Log Error PostgreSQL:
Semasa runtuhan, PostgreSQL akan merekodkan maklumat error terperinci ke fail log. Ini langkah diagnostik paling awal.
Lokasi fail log:
- macOS:
/Applications/ServBay/logs/postgresql/<version>/postgresql-<version>.log
- Windows:
C:\ServBay\logs\postgresql\<version>\postgresql-<version>.log
Cari mesej “FATAL” atau “ERROR”, terutama di sekitar masa runtuhan. Log biasanya akan menunjukkan sebab khusus seperti error memori, kegagalan assertion, error fail data, dan sebagainya.
Semak Log Sistem:
Selain log PostgreSQL, log sistem macOS (boleh dilihat melalui aplikasi Console) mungkin mengandungi maklumat berkaitan masalah perkakasan atau sistem operasi yang berkaitan dengan runtuhan.Semak Keadaan Perkakasan:
Jalankan alat diagnostik terbina macOS atau perisian pengesanan pihak ketiga untuk kesan masalah RAM dan cakera keras. Kerana ralat cakera adalah penyebab biasa kerosakan pangkalan data dan runtuhan.Baiki atau Bina Semula Direktori Data (Lakukan Dengan Cermat):
Jika log menunjuk kepada kerosakan direktori data, cuba guna alat rendah sepertipg_resetwal
(reset status Write Ahead Log). RISIKO PENGGUNAAN TINGGI, MUNGKIN KEHILANGAN DATA! Guna alat ini hanya jika kehilangan sebahagian data boleh diterima demi pemulihan servis.Cara paling selamat: a. Sandarkan direktori data semasa: Walaupun rosak, buat salinan penuh sebagai backup. b. Inisialisasi direktori data baru: Hentikan pakej PostgreSQL, alih keluar direktori lama, inisialisasi baharu dengan
initdb
(biasanya melalui pemasangan ServBay; mungkin perlu delete dan reinstall pakej PostgreSQL). c. Pulihkan data dari backup terkini: Gunakanpg_restore
ataupsql
untuk memulihkan data ke direktori baharu dari fail backup yang dipercayai.Pulih Dari Arkhib Sandaran:
Jika direktori data tidak boleh dibaiki atau perlu rollback ke sebelum runtuhan, pulihkan data dari backup automatik atau manual ServBay.
Lokasi fail sandaran:
- macOS:
/Applications/ServBay/backup/postgresql/<version>/
- Windows:
C:\ServBay\backup\postgresql\<version>\
5. Masalah Sandaran dan Pemulihan
ServBay menyokong sandaran manual dan automatik untuk pakej PostgreSQL. Jika anda bermasalah semasa proses sandaran atau pemulihan, rujuk penyelesaian berikut.
Punca Mungkin
- Fail sandaran rosak atau tidak lengkap.
- Arahan atau parameter pemulihan salah.
- Pangkalan data sasaran tiada atau hak pengguna tidak mencukupi.
- Kekurangan ruang cakera.
- Gangguan semasa proses sandaran/pemulihan.
Penyelesaian
- Semak Integriti Fail Sandaran:
Pastikan fail sandaran (melaluipg_dump
atau fungsi sandaran ServBay) bersaiz seperti dijangka dan tiada kerosakan semasa storan/pemindahan. Untuk fail teks, semak header dan ekor fail. Untuk format custom/direktori, kemungkinan perlu bergantung kepada error daripadapg_restore
.
Lokasi fail sandaran:
- macOS:
/Applications/ServBay/backup/postgresql/13/your_backup_file.dump
- Windows:
C:\ServBay\backup\postgresql\13\your_backup_file.dump
Semak saiz fail:
- macOS:
ls -lh /Applications/ServBay/backup/postgresql/13/your_backup_file.dump
- Windows:
dir C:\ServBay\backup\postgresql\13\your_backup_file.dump
Guna Arahan Pemulihan
pg_restore
ataupsql
Dengan Betul:
Cara pemulihan bergantung pada format fail sandaran.Format teks biasa (
pg_dump -Fp
atau tiada format khusus):
Gunapsql
:bashpsql -U your_username -d your_database -h localhost -p 5432 -f /path/to/your_backup_file.sql
1Pastikan pangkalan data
your_database
telah wujud sebelumnya.Format custom (
-Fc
) atau direktori (-Fd
):
Gunapg_restore
:bashpg_restore -U your_username -d your_database -h localhost -p 5432 /path/to/your_backup_file.dump
1Pangkalan data sasaran
your_database
mesti telah diwujudkan.pg_restore
mempunyai pelbagai pilihan pemulihan objek, dan sebagainya.
Pastikan
your_username
mempunyai hak yang cukup dalamyour_database
(disarankan guna pemilik atau superuser sepertipostgres
).Pastikan Pangkalan Data Sasaran Wujud:
Sama ada gunapsql -f
ataupg_restore
, pangkalan data sasaran mesti sudah ada sebelum proses bermula:bashcreatedb -U your_username -h localhost -p 5432 your_database
1Atau cipta melalui GUI ServBay atau alat lain.
Semak Ruang Cakera:
Pemulihan pangkalan data besar perlukan ruang cakera yang secukupnya pada macOS.Semak Konfigurasi dan Log Sandaran ServBay:
Jika penggunaan sandaran automatik ServBay bermasalah, semak tetapan sandaran serta fail log utama atau berkaitan sandaran bagi punca khusus. ServBay membenarkan penetapan jadual, destinasi, dan polisi sandaran.
Soalan Lazim (FAQ)
Bagaimana untuk mencari direktori data PostgreSQL dalam ServBay?
Jawapan: Lokasi direktori data PostgreSQL ialah:- macOS:
/Applications/ServBay/db/postgresql/<version>/data
- Windows:
C:\ServBay\db\postgresql\<version>\data
Lokasi fail konfigurasi:
- macOS:
/Applications/ServBay/db/postgresql/<version>/
- Windows:
C:\ServBay\db\postgresql\<version>\
- macOS:
Bagaimana untuk menetapkan semula kata laluan pengguna
postgres
dalam pakej PostgreSQL ServBay?
Jawapan: Jika anda terlupa kata laluan superuser lalaipostgres
atau mahu set semula untuk pengguna lain, langkah berikut boleh diikuti (anda sekurang-kurangnya perlu boleh sambung dengan modtrust
atau akaun superuser lain):Hentikan pakej PostgreSQL dalam ServBay.
Edit fail
pg_hba.conf
untuk sementara tukar kaedah sambungan tempatan kepadatrust
(benarkan sambungan tanpa kata laluan).- macOS:
/Applications/ServBay/db/postgresql/13/pg_hba.conf
- Windows:
C:\ServBay\db\postgresql\13\pg_hba.conf
Cari baris seperti:
ini# TYPE DATABASE USER ADDRESS METHOD local all all peer # atau md5 host all all 127.0.0.1/32 md5 # atau scram-sha-256 dsb
1
2
3Tukar kepada (untuk sambungan tempatan sahaja):
ini# TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust
1
2
3
4- macOS:
Mulakan semula pakej PostgreSQL dalam ServBay.
Sambung ke pangkalan data sebagai
postgres
tanpa kata laluan:bashpsql -U postgres -h localhost -p 5432
1Dalam
psql
, tukar kata laluan dengan:sqlALTER USER postgres PASSWORD 'new_secure_password';
1Gantikan
'new_secure_password'
dengan kata laluan baru anda. Untuk pengguna lain, tukarpostgres
kepada nama pengguna yang berkaitan.Taip
\q
untuk keluar daripsql
.Penting: Hentikan pakej PostgreSQL, kembali tukar kaedah sambungan
trust
dalampg_hba.conf
kepada kaedah lebih selamat sepertimd5
atauscram-sha-256
, kemudian restart atau reload PostgreSQL melalui ServBay.
Adakah ServBay menyokong kecekapan tinggi atau replikasi PostgreSQL?
Jawapan: ServBay direka untuk pembangunan tempatan dan tidak menawarkan GUI pengurusan untuk kecekapan tinggi atau replikasi kelas produksi. Anda boleh mengkonfigurasi replikasi secara manual dalam ServBay, namun ia menuntut pengetahuan mendalam tentang tetapan dan arahan PostgreSQL.Bagaimana hendak menaik taraf versi pakej PostgreSQL dalam ServBay?
Jawapan: ServBay membenarkan pemasangan dan pengurusan pelbagai versi pakej PostgreSQL. Untuk menaik taraf, pasang versi baharu dan lebih tinggi, kemudian gunakan alat rasmipg_upgrade
PostgreSQL untuk migrasi data dari direktori lama ke yang baharu. Proses ini melibatkan menghentikan kedua-dua versi, menjalankanpg_upgrade
, dan memulakan versi baru. Ikuti panduan rasmi PostgreSQL untuk maklumat lanjut tentangpg_upgrade
. ServBay menyimpan data setiap versi secara berasingan, memudahkan operasi ini.