Android

Bagaimana untuk memasang postgresql pada centos 7

PostgreSQL - How to install PostgreSQL 10 On CentOS 7 / RHEL 7

PostgreSQL - How to install PostgreSQL 10 On CentOS 7 / RHEL 7

Isi kandungan:

Anonim

PostgreSQL atau Postgres adalah sistem pengurusan pangkalan data objek hubungan umum tujuan umum dengan banyak ciri canggih yang membolehkan anda membuat aplikasi web yang rumit.

Dalam tutorial ini, kami akan menunjukkan kepada anda dua cara yang berbeza tentang cara memasang PostgreSQL pada mesin CentOS 7 anda. Kaedah pertama akan membimbing anda melalui langkah-langkah yang perlu untuk memasang PostgreSQL v9.2.23 dari repositori CentOS sementara yang kedua akan menunjukkan kepada anda cara memasang versi terbaru PostgreSQL dari repositori PostgreSQL rasmi.

Jika permohonan anda tidak memerlukan versi terkini, kami mengesyorkan menggunakan kaedah pertama dan pasang PostgreSQL dari repositori CentOS.

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

Prasyarat

Sebelum meneruskan tutorial ini, pastikan anda log masuk sebagai pengguna dengan keistimewaan sudo.

Pasang PostgreSQL dari repositori CentOS

Pada masa penulisan artikel ini, versi terkini PostgreSQL yang tersedia dari repositori CentOS adalah versi PostgreSQL 9.2.23.

Untuk memasang PostgreSQL pada pelayan CentOS anda ikuti langkah-langkah di bawah:

  1. Memasang PostgreSQL

    Untuk memasang pelayan PostgreSQL bersama dengan pakej penyumbang PostgreSQL yang menyediakan beberapa ciri tambahan untuk pangkalan data PostgreSQL hanya taip:

    sudo yum install postgresql-server postgresql-contrib

    Inisialisasi Pangkalan Data

    Inisialisasi pangkalan data PostgreSQL dengan arahan berikut:

    sudo postgresql-setup initdb

    Initializing database… OK

    Memulakan PostgreSQL

    Untuk memulakan perkhidmatan PostgreSQL dan membolehkannya bermula pada boot, hanya taipkan:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Mengesahkan Pemasangan PostgreSQL

    Untuk mengesahkan pemasangan kami akan cuba menyambung ke pelayan pangkalan data PostgreSQL menggunakan alat psql dan mencetak versi pelayan:

    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 utiliti baris perintah interaktif yang membolehkan kita berinteraksi dengan pelayan PostgreSQL.

Pasang PostgreSQL dari repositori PostgreSQL

Pada masa penulisan artikel ini, versi terbaru PostgreSQL tersedia dari repositori rasmi PostgreSQL adalah versi PostgreSQL 10.4. Sebelum meneruskan langkah seterusnya, anda perlu melawat laman Repositori PostgreSQL Yum dan semak jika terdapat versi baru yang tersedia.

Ikuti langkah-langkah di bawah untuk memasang versi PostgreSQL terkini pada pelayan CentOS anda:

  1. Membolehkan repositori PostgreSQL

    Untuk membolehkan repositori PostgreSQL hanya memasang fail rpm repositori:

    sudo yum install

    Memasang PostgreSQL

    Sebaik sahaja repositori didayakan memasang pelayan PostgreSQL dan pos-pos penyumbang PostgreSQL dengan:

    sudo yum install postgresql10-server postgresql10-contrib

    Inisialisasi Pangkalan Data

    Untuk memulakan jenis pangkalan data PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database… OK

    Memulakan PostgreSQL

    Untuk memulakan perkhidmatan PostgreSQL dan membolehkannya memulakan jenis boot:

    sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10

    Mengesahkan Pemasangan PostgreSQL

    Untuk mengesahkan pemasangan kami akan cuba menyambung ke pelayan pangkalan data PostgreSQL menggunakan alat psql dan mencetak versi pelayan:

    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)

Peranan PostgreSQL dan Kaedah Pengesahan

Kebenaran akses pangkalan data dalam PostgreSQL ditangani dengan 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 - Dengan kaedah ini, peranan boleh menyambung tanpa kata laluan, selagi kriteria yang ditakrifkan dalam pg_hba.conf dipenuhi.Password - Peranan boleh disambungkan dengan menyediakan kata laluan. Kata laluan boleh disimpan sebagai scram-sha-256 md5 dan password (jelas-jelas).Ident - Kaedah ini 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 ia hanya disokong pada sambungan tempatan.

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 dicipta secara automatik apabila anda memasang PostgreSQL. Pengguna ini adalah superuser untuk contoh PostgreSQL dan bersamaan dengan pengguna root MySQL.

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

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

Pengguna postgres biasanya digunakan hanya dari hos tempatan dan disarankan untuk tidak menetapkan kata laluan untuk pengguna ini.

Sekiranya anda memasang PostgreSQL versi 10 dari repositori PostgreSQL rasmi, anda perlu menggunakan laluan penuh untuk binari psql iaitu /usr/pgsql-10/bin/psql .

Mewujudkan Peranan dan Pangkalan Data PostgreSQL

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

Dalam contoh berikut, kami akan membuat peranan baru bernama john sebuah pangkalan data bernama johndb dan memberikan keistimewaan pada pangkalan data.

  1. Sambung ke Shell PostgreSQL

    sudo -u postgres psql

    Buat Peranan PostgreSQL baru

    Perintah berikut akan mewujudkan peranan baru bernama john:

    create role john;

    Buat Pangkalan Data PostgreSQL yang baru

    Buat pangkalan data baru bernama johndb menggunakan perintah createdb :

    create database johndb;

    Keistimewaan geran

    Untuk memberi kebenaran kepada pengguna john pada pangkalan data yang kami buat pada langkah sebelumnya, jalankan 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 postgresql.conf dan tambah listen_addresses = '*' di bahagian CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Sekiranya anda menjalankan versi 10 PostgreSQL, jalan ke fail ialah /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 fail dan mulakan semula perkhidmatan PostgreSQL dengan:

sudo systemctl restart postgresql Jika anda menjalankan versi PostgreSQL 10, mulakan semula perkhidmatan PostgreSQL dengan systemctl restart postgresql-10 .

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

Seperti yang anda lihat dari output di atas pelayan PostgreSQL sedang mendengar 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 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, laluan penuh ke fail ialah /var/lib/pgsql/10/data/pg_hba.conf .

Kesimpulannya

Anda telah belajar cara memasang dan mengkonfigurasi PostgreSQL pada pelayan CentOS 7 anda.

Anda boleh merujuk kepada Dokumentasi PostgreSQL untuk maklumat lanjut mengenai topik ini.

pangkalan data postgresql