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

Cara Menginstal PostgreSQL di CentOS 7

PostgreSQL atau Postgres adalah sistem manajemen basis data relasional open-source tujuan umum dengan banyak fitur canggih yang memungkinkan Anda membuat aplikasi web yang kompleks.

Dalam tutorial ini, kami akan menunjukkan kepada Anda dua metode berbeda tentang cara menginstal PostgreSQL di mesin CentOS 7 Anda. Metode pertama akan memandu Anda melalui langkah-langkah yang diperlukan untuk menginstal PostgreSQL v9.2.23 dari repositori CentOS, sedangkan metode kedua akan menunjukkan cara menginstal PostgreSQL versi terbaru dari repositori resmi PostgreSQL.

Jika aplikasi Anda tidak memerlukan versi terbaru, sebaiknya gunakan metode pertama dan instal PostgreSQL dari repositori CentOS.

Kami juga akan mengeksplorasi dasar-dasar administrasi database PostgreSQL.

Prasyarat #

Sebelum melanjutkan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

Instal PostgreSQL dari repositori CentOS #

Pada saat artikel ini ditulis, versi PostgreSQL terbaru yang tersedia dari repositori CentOS adalah PostgreSQL versi 9.2.23.

Untuk menginstal PostgreSQL di server CentOS Anda, ikuti langkah-langkah di bawah ini:

  1. Menginstal PostgreSQL

    Untuk menginstal server PostgreSQL bersama dengan paket kontribusi PostgreSQL yang menyediakan beberapa fitur tambahan untuk database PostgreSQL cukup ketik:

    sudo yum install postgresql-server postgresql-contrib
  2. Inisialisasi Basis Data

    Inisialisasi database PostgreSQL dengan perintah berikut:

    sudo postgresql-setup initdb
    Initializing database ... OK
  3. Memulai PostgreSQL

    Untuk memulai layanan PostgreSQL dan mengaktifkannya untuk memulai saat boot cukup ketik:

    sudo systemctl start postgresqlsudo systemctl enable postgresql
  4. Memverifikasi Instalasi PostgreSQL

    Untuk memverifikasi instalasi, kami akan mencoba menghubungkan ke server database PostgreSQL menggunakan psql alat dan cetak versi server:

    sudo -u postgres psql -c "SELECT version();"
    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
    (1 row)
Psql adalah utilitas baris perintah interaktif yang memungkinkan kita berinteraksi dengan server PostgreSQL.

Instal PostgreSQL dari repositori PostgreSQL #

Pada saat artikel ini ditulis, versi terbaru PostgreSQL yang tersedia dari repositori resmi PostgreSQL adalah PostgreSQL versi 10.4. Sebelum melanjutkan ke langkah berikutnya, Anda harus mengunjungi halaman PostgreSQL Yum Repository dan memeriksa apakah ada versi baru yang tersedia.

Ikuti langkah-langkah di bawah ini untuk menginstal versi PostgreSQL terbaru di server CentOS Anda :

  1. Mengaktifkan repositori PostgreSQL

    Untuk mengaktifkan repositori PostgreSQL cukup instal repositori rpm berkas:

    sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  2. Menginstal PostgreSQL

    Setelah repositori diaktifkan, instal server PostgreSQL dan paket kontribusi PostgreSQL dengan:

    sudo yum install postgresql10-server postgresql10-contrib
  3. Inisialisasi Basis Data

    Untuk menginisialisasi tipe database PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
    Initializing database ... OK
  4. Memulai PostgreSQL

    Untuk memulai layanan PostgreSQL dan mengaktifkannya untuk memulai saat boot, ketik:

    sudo systemctl start postgresql-10sudo systemctl enable postgresql-10
  5. Memverifikasi Instalasi PostgreSQL

    Untuk memverifikasi instalasi, kami akan mencoba menghubungkan ke server database PostgreSQL menggunakan psql alat dan cetak versi server:

    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"
    PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
    (1 row)

Peran PostgreSQL dan Metode Otentikasi #

Izin akses database dalam PostgreSQL ditangani dengan konsep peran. Peran dapat mewakili pengguna basis data atau sekelompok pengguna basis data.

PostgreSQL mendukung beberapa metode otentikasi. Metode yang paling umum digunakan adalah:

  • Kepercayaan - Dengan metode ini, peran dapat terhubung tanpa kata sandi, selama kriteria yang ditentukan dalam pg_hba.conf terpenuhi.
  • Kata Sandi - Peran dapat terhubung dengan memberikan kata sandi. Kata sandi dapat disimpan sebagai scram-sha-256 md5 dan password (teks-jelas).
  • Ident - Metode ini hanya didukung pada koneksi TCP/IP. Ia bekerja dengan mendapatkan nama pengguna sistem operasi klien, dengan pemetaan nama pengguna opsional.
  • Peer - Sama seperti Ident tetapi hanya didukung pada koneksi lokal.

Otentikasi klien PostgreSQL didefinisikan dalam file konfigurasi bernama pg_hba.conf . Secara default, untuk koneksi lokal, PostgreSQL diatur untuk menggunakan metode otentikasi rekan.

postgres pengguna dibuat secara otomatis saat Anda menginstal PostgreSQL. Pengguna ini adalah pengguna super untuk instance PostgreSQL dan setara dengan pengguna root MySQL.

Untuk masuk ke server PostgreSQL sebagai pengguna postgres terlebih dahulu, Anda harus beralih ke userpostgres lalu mengakses prompt PostgreSQL menggunakan psql utilitas:

sudo su - postgrespsql

Dari sini, Anda dapat berinteraksi dengan instance PostgreSQL Anda. Untuk keluar dari shell PostgreSQL, ketik:

\q

Anda juga dapat mengakses perintah PostgreSQL tanpa mengalihkan pengguna menggunakan sudo perintah:

sudo -u postgres psql

postgres pengguna biasanya hanya digunakan dari host lokal dan disarankan untuk tidak menyetel sandi untuk pengguna ini.

Jika Anda menginstal PostgreSQL versi 10 dari repositori resmi PostgreSQL, Anda harus menggunakan path lengkap ke psql biner yaitu /usr/pgsql-10/bin/psql .

Membuat Peran dan Basis Data PostgreSQL #

Hanya pengguna super dan peran dengan CREATEROLE hak istimewa dapat membuat peran baru.

Dalam contoh berikut, kita akan membuat peran baru bernama john database bernama johndb dan berikan hak istimewa pada database.

  1. Hubungkan ke Shell PostgreSQL

    sudo -u postgres psql
  2. Buat Peran PostgreSQL baru

    Perintah berikut akan membuat peran baru bernama "john":

    CREATE ROLE john;
  3. Buat Database PostgreSQL baru

    Buat database baru bernama “johndb” menggunakan createdb perintah:

    CREATE DATABASE johndb;
  4. Berikan hak istimewa

    Untuk memberikan izin kepada john user pada database yang kita buat pada langkah sebelumnya, jalankan query berikut:

    GRANT ALL PRIVILEGES ON DATABASE johndb TO john;

Aktifkan akses jarak jauh ke server PostgreSQL #

Secara default, server PostgreSQL hanya mendengarkan pada antarmuka lokal 127.0.0.1 . Untuk mengaktifkan akses jarak jauh ke server PostgreSQL Anda, buka file konfigurasi postgresql.conf dan tambahkan listen_addresses = '*' di CONNECTIONS AND AUTHENTICATION bagian.

sudo vim /var/lib/pgsql/data/postgresql.conf
Jika Anda menjalankan PostgreSQL versi 10, jalur ke file adalah /var/lib/pgsql/10/data/postgresql.conf ./var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

simpan file dan mulai ulang layanan PostgreSQL dengan:

sudo systemctl restart postgresql
Jika Anda menjalankan PostgreSQL versi 10, mulai ulang layanan PostgreSQL dengan systemctl restart postgresql-10 .

Verifikasi perubahan dengan ss utilitas:

ss -nlt | grep 5432
LISTEN   0         128                 0.0.0.0:5432             0.0.0.0:*
LISTEN   0         128                    [::]:5432                [::]:*

Seperti yang Anda lihat dari output di atas, server PostgreSQL mendengarkan semua antarmuka (0.0.0.0).

Langkah terakhir adalah mengkonfigurasi server untuk menerima koneksi jarak jauh dengan mengedit pg_hba.conf berkas.

Berikut adalah beberapa contoh yang menunjukkan kasus penggunaan yang berbeda:

/var/lib/pgsql/data/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane will be able to access all databases from all locations using a md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane will be able to access only the janedb from all locations using a md5 password
host    janedb          jane            0.0.0.0/0                md5

# The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password
host    all             jane            192.168.1.134            trust
Jika Anda menjalankan PostgreSQL versi 10, path lengkap ke file adalah /var/lib/pgsql/10/data/pg_hba.conf .
Cent OS
  1. Cara Menginstal PostgreSQL di CentOS 7

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

  3. Cara Menginstal PostgreSQL di CentOS 7 / RHEL 7

  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Cara Menginstal Java 11 &12 di CentOS 7

  3. Cara Menginstal Wine 4.0 di CentOS 7

  1. Cara Menginstal Vim 8.2 di CentOS 7

  2. Cara Menginstal VirtualBox di CentOS 7

  3. Cara menginstal server PostgreSQL di RHEL 8 / CentOS 8