Saya berhasil mengompilasi dan menginstal PostgreSQL versi terbaru (17.4) di Ubuntu ARM32.
Perintah dalam artikel ini terutama berasal dari dokumentasi resmi PostgreSQL. Saya telah benar-benar menguji setiap perintah dalam artikel ini.
Anda dapat melihat sistem yang berhasil diinstal di sini Farm Build PostgreSQL
Mengompilasi dan Menginstal PostgreSQL 17.4
1. Buat Direktori dan Masuk ke Direktori
mkdir postgresql && cd postgresql
mkdir postgresql
: Membuat direktori baru bernamapostgresql
.cd postgresql
: Masuk ke direktoripostgresql
yang baru dibuat.
2. Unduh Kode Sumber PostgreSQL
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget
: Mengunduh file dari URL yang ditentukan.https://..../postgresql-17.4.tar.bz2
: Tautan unduhan untuk paket kode sumber terkompresi PostgreSQL versi 17.4. Jika tautan tidak valid, Anda dapat mencari tautan baru sendiri.
3. Ekstrak Paket Kode Sumber
tar xjf postgresql-17.4.tar.bz2
-
tar
: Digunakan untuk memproses file terkompresi.tar
. -
xjf
: Opsi untuk mengekstrak filetar
:x
: Ekstrak file.j
: Gunakan format kompresi bzip2 (.bz2).f
: Tentukan file yang akan diekstrak.
-
postgresql-17.4.tar.bz2
: Nama file yang akan diekstrak.
4. Masuk ke Direktori Kode Sumber yang Diekstrak
cd postgresql-17.4
- Masuk ke direktori kode sumber PostgreSQL 17.4 yang telah diekstrak.
5. Instal Paket Dependensi
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install
: Gunakan pengelola paketapt
untuk menginstal paket.libssl-dev
,libsystemd-dev
,libxml2-dev
,libreadline-dev
: Instal pustaka pengembangan yang diperlukan untuk kompilasi PostgreSQL, yaitu pustaka SSL, pustaka Systemd, pustaka XML, dan pustaka Readline.
6. Konfigurasikan Opsi Kompilasi
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure
: Siapkan lingkungan kompilasi PostgreSQL.--prefix=/usr/local/pgsql
: Menentukan direktori instalasi PostgreSQL sebagai/usr/local/pgsql
.--with-openssl
: Aktifkan dukungan OpenSSL.--with-libxml
: Aktifkan dukungan XML.--with-systemd
: Aktifkan dukungan Systemd.
7. Kompilasi Kode Sumber
make -j$(nproc)
make
: Mulai proses kompilasi.-j$(nproc)
: Gunakannproc
(jumlah inti CPU sistem) untuk menjalankan tugas kompilasi secara paralel, mempercepat proses kompilasi.
8. Instal PostgreSQL
sudo make install
sudo make install
: Gunakansudo
untuk menjalankan instalasi dengan izin administrator,make install
akan menginstal file yang telah dikompilasi ke dalam sistem, menginstal ke direktori/usr/local/pgsql
yang ditentukan dalam perintah./configure
sebelumnya.
9. Atur Variabel Lingkungan
Gunakan editor teks 1. Edit file /etc/profile
:
sudo nano /etc/profile
sudo
: Menunjukkan menjalankan perintah dengan hak akses superuser (administrator). Karena memodifikasi file/etc/profile
memerlukan hak akses administrator.nano
: Ini adalah editor teks yang sering digunakan di lingkungan terminal untuk mengedit file./etc/profile
: Ini adalah file konfigurasi global yang digunakan untuk mengatur variabel lingkungan dan konfigurasi startup di seluruh sistem. Semua pengguna akan menjalankan pengaturan dalam file ini saat masuk ke sistem.
- Tambahkan variabel lingkungan:
export PATH=/usr/local/pgsql/bin:$PATH
export
: Digunakan untuk mengatur variabel lingkungan agar tersedia dalam proses saat ini dan turunannya.PATH
: Ini adalah variabel lingkungan yang berisi daftar direktori file yang dapat dieksekusi dalam sistem. Saat menjalankan perintah, sistem akan mencari perintah berdasarkan direktori yang tercantum dalam variabelPATH
./usr/local/pgsql/bin
: Ini adalah direktori file yang dapat dieksekusi dari database PostgreSQL. Menambahkannya berarti file yang dapat dieksekusi (sepertipsql
) di direktori ini akan dikenali oleh sistem.:$PATH
: Di sini$PATH
mewakili jalur yang sudah ada, menambahkan jalur baru/usr/local/pgsql/bin
ke depanPATH
yang ada. Dengan cara ini, sistem akan memeriksa direktori baru terlebih dahulu, lalu memeriksa jalur yang ada.
Perintah ini berfungsi untuk menambahkan direktori file yang dapat dieksekusi PostgreSQL ke variabel lingkungan PATH
sistem, memastikan bahwa perintah PostgreSQL (seperti psql
) dapat langsung dijalankan di baris perintah tanpa memberikan jalur lengkap. Pengaturan yang dimodifikasi akan berlaku untuk semua pengguna
Inisialisasi Database PostgreSQL
Perintah-perintah ini terutama digunakan untuk mengonfigurasi server database PostgreSQL secara manual di server Linux, termasuk membuat pengguna sistem PostgreSQL, menginisialisasi database, memulai layanan database, dan mendaftarkannya sebagai layanan systemd
untuk memulai secara otomatis saat boot.
1. Buat Pengguna PostgreSQL
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: Jalankan perintah dengan hak akses superuser.useradd
: Buat pengguna baru.-m
: Buat direktori home pengguna.-U
: Buat juga grup pengguna dengan nama yang sama dengan nama pengguna.-r
: Buat pengguna sistem (UID pengguna sistem lebih rendah dari 1000, tidak digunakan untuk login).-d /var/lib/postgresql
: Tentukan direktori home sebagai/var/lib/postgresql
.-s /bin/bash
: Tentukan shell sebagai/bin/bash
.postgres
: Nama pengguna.
Perintah ini membuat pengguna sistem khusus PostgreSQL postgres
.
2. Ubah Pemilik Direktori PostgreSQL
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql
: Mengubah pemilik direktori/usr/local/pgsql
menjadi penggunapostgres
, sehingga dapat membaca dan menulis direktori tersebut.
3. Atur Kata Sandi Pengguna PostgreSQL
sudo passwd postgres
passwd postgres
: Ubah kata sandi penggunapostgres
.
4. Beralih ke Pengguna PostgreSQL
su postgres
su postgres
: Beralih ke penggunapostgres
untuk menggunakan perintah yang terkait dengan PostgreSQL.
5. Inisialisasi Database
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
: Menginisialisasi penyimpanan database di direktori/usr/local/pgsql/data
.
6. Mulai Database PostgreSQL
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data
: Memulai database dengan prosespostgres
, penyimpanan data di direktori/usr/local/pgsql/data
.
7. Di Sesi Terminal Lain, Masuk ke Database
su postgres
/usr/local/pgsql/bin/psql
psql
: Alat interaktif baris perintah PostgreSQL, masuk ke shell database.
8. Atur Kata Sandi Pengguna Database
ALTER USER postgres WITH PASSWORD 'kata_sandi_baru_anda';
- Ubah kata sandi pengguna database
postgres
.
9. Buat Layanan systemd
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service
: Edit file konfigurasisystemd
agar PostgreSQL dapat dijalankan sebagai layanan.
Isi file konfigurasi:
[Unit]
Description=Server PostgreSQL
#Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
Description=Server PostgreSQL
: Menjelaskan bahwa layanan ini adalah server PostgreSQL.After=network-online.target
: Tunggu hingga koneksi jaringan tersedia sebelum memulai PostgreSQL.User=postgres
: Jalankan dengan penggunapostgres
.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
: Mulai server PostgreSQL.ExecReload=/bin/kill -HUP $MAINPID
: Kirim sinyalHUP
saat memuat ulang.KillMode=mixed
: Mode penghentian campuran.KillSignal=SIGINT
: Sinyal untuk mengakhiri proses PostgreSQL.TimeoutSec=infinity
: Batas waktu diatur ke tak terhingga.
10. Aktifkan Layanan systemd
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload
: Muat ulang konfigurasisystemd
agarpostgresql.service
yang baru berlaku.start postgresql
: Mulai layanan PostgreSQL.status postgresql
: Periksa status operasi PostgreSQL.enable postgresql
: Mulai PostgreSQL secara otomatis saat boot.
Tujuan dari perintah ini adalah:
- Buat pengguna
postgres
yang didedikasikan untuk menjalankan PostgreSQL. - Inisialisasi direktori penyimpanan database.
- Mulai database PostgreSQL dan masuk ke baris perintah interaktif
psql
. - Konfigurasikan
systemd
untuk menjalankan PostgreSQL sebagai layanan sistem dan mendukung startup otomatis saat boot.
Dengan cara ini, server PostgreSQL dapat berjalan dengan normal dan dapat dimulai secara otomatis saat sistem dimulai.
Referensi
PostgreSQL: Dokumentasi: 17: Bab 17. Instalasi dari Kode Sumber
Versi Lain dari Halaman Web Ini
Artikel ini memiliki beberapa versi bahasa.
Jika Anda ingin memberikan komentar, silakan kunjungi halaman web berikut:
Halaman web ini hanya mendukung penjelajahan, Anda tidak dapat memposting komentar atau pesan, tetapi menyediakan lebih banyak opsi bahasa, dan waktu pemuatan lebih singkat:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO
Artikel ini diterjemahkan dari Chinese (Simplified) ke Indonesian oleh AI.