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 bernama postgresql.
  • cd postgresql: Masuk ke direktori postgresql 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 file tar:

    • 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 paket apt 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): Gunakan nproc (jumlah inti CPU sistem) untuk menjalankan tugas kompilasi secara paralel, mempercepat proses kompilasi.

8. Instal PostgreSQL

sudo make install
  • sudo make install: Gunakan sudo 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.
  1. 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 variabel PATH.
  • /usr/local/pgsql/bin: Ini adalah direktori file yang dapat dieksekusi dari database PostgreSQL. Menambahkannya berarti file yang dapat dieksekusi (seperti psql) di direktori ini akan dikenali oleh sistem.
  • :$PATH: Di sini $PATH mewakili jalur yang sudah ada, menambahkan jalur baru /usr/local/pgsql/bin ke depan PATH 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 pengguna postgres, sehingga dapat membaca dan menulis direktori tersebut.

3. Atur Kata Sandi Pengguna PostgreSQL

sudo passwd postgres
  • passwd postgres: Ubah kata sandi pengguna postgres.

4. Beralih ke Pengguna PostgreSQL

su postgres
  • su postgres: Beralih ke pengguna postgres 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 proses postgres, 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 konfigurasi systemd 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 pengguna postgres.
  • ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data: Mulai server PostgreSQL.
  • ExecReload=/bin/kill -HUP $MAINPID: Kirim sinyal HUP 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 konfigurasi systemd agar postgresql.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:

  1. Buat pengguna postgres yang didedikasikan untuk menjalankan PostgreSQL.
  2. Inisialisasi direktori penyimpanan database.
  3. Mulai database PostgreSQL dan masuk ke baris perintah interaktif psql.
  4. 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:

ZH EN ZH-TW JA

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.