Android

Bagaimana untuk memasang postgresql pada ubuntu 18.04

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

Isi kandungan:

Anonim

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

Dalam tutorial ini, kami akan menunjukkan kepada anda cara memasang PostgreSQL pada Ubuntu 18.04 dan meneroka asas pentadbiran pangkalan data asas.

Prasyarat

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

Pasang PostgreSQL pada Ubuntu

Pada masa menulis artikel ini, versi terkini PostgreSQL yang tersedia dari repositori Ubuntu rasmi adalah versi PostgreSQL 10.4.

Untuk memasang PostgreSQL pada pelayan Ubuntu anda ikuti langkah-langkah berikut:

  1. Memasang PostgreSQL

    Segarkan indeks pakej tempatan dan pasang pelayan PostgreSQL bersama dengan pakej penyumbang PostgreSQL yang menyediakan beberapa ciri tambahan untuk pangkalan data PostgreSQL:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Mengesahkan Pemasangan PostgreSQL

    Apabila pemasangan selesai, perkhidmatan PostgreSQL akan bermula secara automatik.

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

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

psql adalah utiliti baris perintah interaktif yang membolehkan anda berinteraksi dengan pelayan PostgreSQL.

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. Yang paling biasa 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 teks) Ident - Kaedah ini hanya disokong pada sambungan TCP / IP. Bekerja dengan mendapatkan nama pengguna sistem operasi klien, dengan pemetaan nama pengguna pilihan.Peer - Sama seperti Ident tetapi 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 pertama, anda perlu bertukar kepada jawatan pasca pengguna dan kemudian anda boleh mengakses prompt PostgreSQL menggunakan utiliti psql :

sudo su - postgres psql

Dari sini, anda boleh berinteraksi dengan contoh PostgreSQL anda. Untuk keluar daripada jenis shell PostgreSQL:

\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.

Mewujudkan Peranan dan Pangkalan Data PostgreSQL

Anda boleh membuat peranan baru dari baris arahan menggunakan perintah createuser . 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. Buat Peranan PostgreSQL baru

    Perintah berikut akan mewujudkan peranan baru bernama john:

    sudo su - postgres -c "createuser john"

    Buat Pangkalan Data PostgreSQL yang baru

    Buat pangkalan data baru bernama johndb menggunakan perintah createdb :

    sudo su - postgres -c "createdb johndb"

    Keistimewaan geran

    Untuk memberi kebenaran kepada pengguna john pada pangkalan data yang kami buat pada langkah sebelumnya, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    dan 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 /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/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 service postgresql restart

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:

/etc/postgresql/10/main/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

Kesimpulannya

Anda telah belajar cara memasang dan mengkonfigurasi PostgreSQL pada pelayan Ubuntu 18.04 anda.

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

pangkalan data ubuntu postgresql