Android

Bagaimana untuk memasang postgresql pada centos 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

Isi kandungan:

Anonim

PostgreSQL atau Postgres adalah sistem pengurusan pangkalan data hubungan objek umum-sumber terbuka dengan banyak ciri-ciri canggih yang membolehkan anda untuk membina persekitaran toleransi atau aplikasi kompleks.

Dalam panduan ini, kami akan membincangkan cara memasang pelayan pangkalan data PostgreSQL pada CentOS 8. Sebelum memilih versi mana yang hendak dipasang, pastikan aplikasi anda menyokongnya.

Kami juga akan meneroka asas-asas pentadbiran pangkalan data PostgreSQL.

Prasyarat

Untuk dapat memasang pakej, anda perlu log masuk sebagai root atau pengguna dengan keistimewaan sudo.

Memasang PostgreSQL pada CentOS 8

Pada masa menulis artikel ini, terdapat dua versi pelayan PostgreSQL yang tersedia untuk pemasangan dari repositori CentOS standard: versi 9.6 dan 10.0.

Untuk menyenaraikan aliran modul PostgreSQL yang ada, taipkan:

dnf module list postgresql

Output menunjukkan modul postgresql tersedia dengan dua aliran. Setiap strim mempunyai dua profil: pelayan dan klien. Stream 10 dengan pelayan profil adalah lalai:

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 memasang aliran lalai, jenis pelayan PostgreSQL versi 10.0:

    sudo dnf install @postgresql:10

    Untuk memasang jenis pelayan versi 9.6 PostgreSQL:

    sudo dnf install @postgresql:9.6

Anda juga mungkin mahu memasang pakej penyumbang yang menyediakan beberapa ciri tambahan untuk pangkalan data PostgreSQL:

sudo dnf install postgresql-contrib

Apabila pemasangan selesai, inisikan pangkalan data PostgreSQL dengan arahan berikut:

sudo postgresql-setup initdb

Initializing database… OK

Mulakan perkhidmatan PostgreSQL dan dayakannya bermula:

sudo systemctl enable --now postgresql

Gunakan alat psql untuk mengesahkan pemasangan dengan menyambung ke pelayan pangkalan data PostgreSQL dan mencetak versi:

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

Peranan PostgreSQL dan Kaedah Pengesahan

PostgreSQL mengendalikan kebenaran akses pangkalan data menggunakan konsep peranan. Peranan boleh mewakili pengguna pangkalan data atau sekumpulan pengguna pangkalan data.

PostgreSQL menyokong pelbagai kaedah pengesahan. Kaedah yang paling sering digunakan ialah:

  • Amanah - Peranan boleh menyambung tanpa kata laluan, selagi syarat yang ditakrifkan dalam pg_hba.conf dipenuhi.Password - Peranan boleh dihubungkan dengan menyediakan kata laluan. Kata laluan boleh disimpan sebagai scram-sha-256 , md5 , dan password (jelas-jelas).Ident - Hanya disokong pada sambungan TCP / IP. Ia berfungsi dengan mendapatkan nama pengguna sistem operasi klien, dengan pemetaan nama pengguna pilihan.Peer - Sama seperti Ident, tetapi disokong pada sambungan tempatan sahaja.

Pengesahan pelanggan PostgreSQL ditakrifkan dalam fail konfigurasi yang dinamakan pg_hba.conf . Secara lalai, untuk sambungan tempatan, PostgreSQL ditetapkan untuk menggunakan kaedah pengesahan rakan sebaya.

Pengguna postgres dibuat secara automatik apabila anda memasang pelayan PostgreSQL. Pengguna ini adalah pengguna super untuk contoh PostgreSQL. Ia bersamaan dengan pengguna root MySQL.

Untuk log masuk ke pelayan PostgreSQL sebagai pengguna psql , bertukar pertama kepada pengguna dan kemudian akses segera PostgreSQL menggunakan utiliti psql :

sudo su - postgres psql

Dari sini, anda boleh berinteraksi dengan contoh PostgreSQL. Untuk keluar dari shell PostgreSQL, ketik:

\q

Anda juga boleh mengakses permintaan PostgreSQL tanpa menukar pengguna dengan perintah sudo :

sudo -u postgres psql

Biasanya pengguna postgres digunakan hanya dari localhost.

Mewujudkan Peranan dan Pangkalan Data PostgreSQL

Hanya CREATEROLE dan peranan dengan keistimewaan CREATEROLE boleh mencipta peranan baru.

Dalam contoh berikut, kami akan mencipta peranan baru bernama john , pangkalan data bernama johndb , dan memberi keistimewaan pada pangkalan data.

  1. Pertama, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    Buat peranan PostgreSQL baru menggunakan arahan berikut:

    create role john;

    Buat pangkalan data baru:

    create database johndb;

    Keistimewaan geran kepada pengguna di pangkalan data dengan menjalankan pertanyaan berikut:

    grant all privileges on database johndb to john;

Dayakan akses jauh ke pelayan PostgreSQL

Secara lalai, pelayan PostgreSQL hanya mendengar pada antara muka tempatan 127.0.0.1 .

Untuk mendayakan akses jauh ke pelayan PostgreSQL anda, buka fail konfigurasi:

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

Tatal ke bahagian CONNECTIONS AND AUTHENTICATION dan tambah / edit baris berikut:

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

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Simpan fail dan mulakan semula perkhidmatan PostgreSQL dengan:

sudo systemctl restart postgresql

Sahkan perubahan dengan utiliti ss :

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

Output di atas menunjukkan bahawa pelayan PostgreSQL sedang mendengar pada port lalai pada semua antara muka (0.0.0.0).

Langkah terakhir ialah mengkonfigurasi pelayan untuk menerima sambungan jauh dengan mengedit fail pg_hba.conf .

Berikut adalah beberapa contoh yang menunjukkan kes penggunaan yang berlainan:

/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

Kesimpulannya

CentOS 8 menyediakan dua versi PostgreSQL: 9.6 dan 10.0.

Untuk maklumat lanjut mengenai topik ini lawati Dokumentasi PostgreSQL

pangkalan data postgresql