GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal server PostgreSQL di RHEL 8 / CentOS 8

PostgreSQL adalah sistem manajemen database relasional objek opensource gratis. Tujuan dari tutorial ini adalah untuk melakukan instalasi dan konfigurasi dasar server PostgreSQL pada server Linux RHEL 8 / CentOS 8.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menginstal server database PostgreSQL di RHEL 8 / CentOS 8
  • Cara memulai dan mengaktifkan server database PostgreSQL
  • Cara mengakses database PostgreSQL dari localhost dan lokasi jauh
  • Cara menyetel sandi untuk postgres default pengguna
  • Cara mengaktifkan PostgreSQL untuk mendengarkan di semua jaringan
  • Cara mengamankan koneksi jarak jauh PostgreSQL dengan otentikasi kata sandi MD5
  • Cara membuka port firewall PostgreSQL
  • Cara membuat koneksi jarak jauh ke server PostgreSQL menggunakan psql klien

Menginisialisasi dan mengakses database PostgreSQL di Red Hat Enterprise Linux 8

Persyaratan dan Konvensi Perangkat Lunak yang Digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem RHEL 8 / CentOS 8
Perangkat Lunak Server PostgreSQL 10.5-1.el8
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk langkah demi langkah Instalasi PostgreSQL Lokal dan akses database

  1. Instal server PostreSQL. Jalankan dnf di bawah ini perintah untuk melakukan instalasi paket server PostreSQL:
    # dnf install postgresql-server
    
  2. Inisialisasi database PostgreSQL:
    # postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. Mulai PostgreSQL dan secara opsional aktifkan untuk memulai setelah reboot.
    # systemctl start postgresql
    # systemctl enable postgresql
    

    Pada titik ini server PostreSQL harus aktif dan berjalan dan mendengarkan pada port localhost 5432 . Gunakan ss perintah untuk mengonfirmasi bahwa ini masalahnya:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. Mengakses database PostreSQL. Saat Anda menginstal database PostgreSQL pada sistem RHEL 8 / CentOS 8 Anda, penginstal juga akan secara otomatis membuat pengguna default baru postgres .

    Kata sandi default untuk postgres pengguna tidak disetel, karenanya kosong. Untuk mengakses database PostgreSQL terlebih dahulu jalankan su perintah sebagai pengguna root untuk beralih ke pengguna postres. Kemudian, ketik psql untuk login ke database.

    CATATAN
    Setiap upaya untuk mengakses database PostgreSQL sebagai pengguna root akan menghasilkan psql: FATAL: role "root" does not exist pesan kesalahan.

    Contoh:

    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
    CATATAN
    Untuk keluar dari shell database PostreSQL ketik \q atau tekan CTRL+d kombinasi tombol.

Akses jarak jauh database PostgreSQL dan koneksi aman

  1. Tetapkan kata sandi untuk postgres user.Untuk mengakses server PostreSQL dari jarak jauh, pertama-tama kita akan menetapkan kata sandi untuk postres user:
    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. Aktifkan server PostgreSQL untuk mendengarkan di semua jaringan yang tersedia. Edit file konfigurasi utama /var/lib/pgsql/data/postgresql.conf :
    # nano /var/lib/pgsql/data/postgresql.conf
    

    Setelah siap tambahkan baris berikut di suatu tempat ke CONNECTIONS AND AUTHENTICATION bagian:

    listen_addresses = '*'
    
    PERINGATAN
    Konfigurasi di atas akan memungkinkan PostreSQL untuk mendengarkan di semua jaringan yang tersedia. Disarankan untuk menetapkan aturan yang lebih ketat untuk mengizinkan akses ke PostgreSQL hanya dari jaringan yang dipilih.

    Gunakan ss perintah untuk mengonfirmasi bahwa PostgreSQL mendengarkan 0.0.0.0 jaringan:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. Aktifkan otentikasi sandi terenkripsi MD5:
    # echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  4. Terapkan perubahan konfigurasi PostgreSQL:
    # systemctl restart postgresql
    
  5. Buka port firewall 5432 untuk lalu lintas masuk PostgreSQL jarak jauh:
    # firewall-cmd --zone=public --permanent --add-service=postgresql
    # firewall-cmd --reload
    
  6. Hubungkan ke server database PostgreSQL dari lokasi yang jauh. Pertama-tama instal psql Alat klien PostgreSQL di host jarak jauh Anda:
    RHEL/CENTOS
    # dnf install postgresql
    UBUNTU/DEBIAN
    # apt install postgresql-client
    

    Buat koneksi jarak jauh ke host mis. 192.168.1.151 sebagai postgres pengguna dan kata sandi pengguna seperti yang didefinisikan di atas Langkah 1 :

    $ psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    

Cent OS
  1. Cara Memasang Wayang Di CentOS 8 / RHEL 8

  2. Cara Menginstal PostgreSQL di CentOS 7 / RHEL 7

  3. CentOS / RHEL 7:Cara Menginstal GUI

  1. Cara Menginstal PostgreSQL di CentOS 7

  2. Cara Menginstal PostgreSQL 10 di CentOS 6 / RHEL 6

  3. Cara Install Puppet 6.x Di CentOS 7 / RHEL 7

  1. Cara menginstal server vnc di RHEL 8 / CentOS 8

  2. Cara menginstal Nextcloud di server RHEL 8 / CentOS 8

  3. Cara Menginstal Server PostgreSQL di CentOS 8