Android

Bagaimana untuk memasang postgresql pada debian 9

Установка Postgresql в Debian 9 (Stretch)

Установка Postgresql в Debian 9 (Stretch)

Isi kandungan:

Anonim

PostgreSQL, yang sering dikenali sebagai Postgres, adalah sistem pengurusan pangkalan data hubungan objek umum. PostgreSQL mempunyai banyak ciri-ciri canggih seperti sandaran dalam talian, titik pemulihan masa, transaksi bersarang, pertanyaan SQL dan JSON, kawalan kesambungan pelbagai versi (MVCC), replikasi asynchronous dan banyak lagi.

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

Prasyarat

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

Memasang PostgreSQL

Pada masa penulisan artikel ini, versi terkini PostgreSQL yang tersedia dari repositori Debian adalah versi PostgreSQL 9.6.

Untuk memasang PostgreSQL pada pelayan Debian anda lengkapkan langkah-langkah berikut:

  1. Mulakan dengan mengemas kini indeks pakej setempat:

    sudo apt update

    Pasang pelayan PostgreSQL dan pakej penyumbang PostgreSQL yang menyediakan ciri tambahan untuk pangkalan data PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    Apabila pemasangan selesai, perkhidmatan PostgreSQL akan bermula secara automatik. Untuk mengesahkan pemasangan kami akan menyambung ke pelayan pangkalan data PostgreSQL menggunakan utiliti psql dan mencetak versi pelayan:

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

    Output akan kelihatan seperti ini:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql adalah program terminal interaktif yang membolehkan anda berinteraksi dengan pelayan PostgreSQL.

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 beberapa kaedah pengesahan. Kaedah 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 boleh menggunakan perintah sudo untuk mengakses petikan PostgreSQL tanpa menukar pengguna:

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 kebiasaannya PostgreSQL, pelayan 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/9.6/main/postgresql.conf /etc/postgresql/9.6/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/9.6/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 Debian 9 anda. Untuk maklumat lanjut mengenai topik ini, rujuk Dokumentasi PostgreSQL.

database pangkalan data debian