Android

Cara menginstal postgresql pada centos 8

Cara Install Postgres

Cara Install Postgres

Daftar Isi:

Anonim

PostgreSQL atau Postgres merupakan tujuan umum sistem manajemen database object-relational open-source dengan banyak fitur-fitur canggih yang memungkinkan Anda untuk membangun lingkungan toleran atau aplikasi yang kompleks.

Dalam panduan ini, kita akan membahas cara menginstal server database PostgreSQL pada CentOS 8. Sebelum memilih yang versi untuk menginstal, pastikan bahwa aplikasi Anda mendukungnya.

Kami juga akan mengeksplorasi dasar-dasar administrasi basis data PostgreSQL.

Prasyarat

Untuk dapat menginstal paket, Anda harus masuk sebagai root atau pengguna dengan hak akses sudo.

Menginstal PostgreSQL di CentOS 8

Pada saat menulis artikel ini, ada dua versi server PostgreSQL tersedia untuk instalasi dari CentOS repositori standar: versi 9.6 dan 10.0.

Untuk daftar aliran modul PostgreSQL yang tersedia, ketik:

dnf module list postgresql

Output menunjukkan bahwa modul postgresql tersedia dengan dua aliran. Setiap aliran memiliki dua profil: server dan klien. Streaming 10 dengan server profil adalah yang default:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Untuk menginstal aliran default, jenis server PostgreSQL versi 10.0:

    sudo dnf install @postgresql:10

    Untuk menginstal server PostgreSQL versi 9.6 ketik:

    sudo dnf install @postgresql:9.6

Anda mungkin juga ingin menginstal paket contrib yang menyediakan beberapa fitur tambahan untuk database PostgreSQL:

sudo dnf install postgresql-contrib

Setelah instalasi selesai, inisialisasi database PostgreSQL dengan perintah berikut:

sudo postgresql-setup initdb

Initializing database… OK

Mulai layanan PostgreSQL dan aktifkan untuk memulai saat boot:

sudo systemctl enable --now postgresql

Gunakan alat psql untuk memverifikasi instalasi dengan menghubungkan ke server database PostgreSQL dan mencetak versinya:

sudo -u postgres psql -c "SELECT version();"

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

Peran PostgreSQL dan Metode Otentikasi

PostgreSQL menangani izin akses basis data menggunakan konsep peran. Peran dapat mewakili pengguna basis data atau sekelompok pengguna basis data.

PostgreSQL mendukung banyak metode otentikasi. metode yang paling umum digunakan adalah:

  • Trust - Peran dapat terhubung tanpa password, selama kondisi yang ditentukan dalam pg_hba.conf yang met.Password - Peran dapat terhubung dengan memberikan password. Password dapat disimpan sebagai scram-sha-256 , md5 , dan password (jelas-teks).Ident - Hanya didukung pada koneksi TCP / IP. Ia bekerja dengan mendapatkan sistem operasi nama pengguna klien, dengan opsional nama pengguna mapping.Peer - Sama seperti Ident, tetapi didukung pada koneksi lokal saja.

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

Pengguna postgres secara otomatis dibuat ketika Anda menginstal server PostgreSQL. Pengguna ini adalah superuser untuk instance PostgreSQL. Hal ini setara dengan pengguna MySQL root.

Untuk login ke server PostgreSQL sebagai postgres pengguna, saklar pertama ke pengguna dan kemudian mengakses PostgreSQL cepat menggunakan psql utilitas:

sudo su - postgres psql

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

\q

Anda juga dapat mengakses prompt PostgreSQL tanpa mengalihkan pengguna dengan perintah sudo :

sudo -u postgres psql

Biasanya pengguna postgres hanya digunakan dari localhost.

Membuat PostgreSQL Peran dan Database

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

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

  1. Pertama, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    Buat peran PostgreSQL baru menggunakan perintah berikut:

    create role john;

    Membuat database baru:

    create database johndb;

    Berikan hak istimewa kepada pengguna pada database dengan menjalankan kueri 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:

sudo nano /var/lib/pgsql/data/postgresql.conf

Gulir ke bawah ke bagian CONNECTIONS AND AUTHENTICATION dan tambahkan / edit baris berikut:

/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

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:*

Output di atas menunjukkan bahwa server PostgreSQL mendengarkan pada port default pada semua antarmuka (0.0.0.0).

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

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 can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Kesimpulan

CentOS 8 menyediakan dua versi PostgreSQL: 9.6 dan 10.0.

Untuk informasi lebih lanjut tentang topik ini, kunjungi Dokumentasi PostgreSQL

Database CentOS postgresql