Android

Bagaimana untuk memasang postgresql pada debian 10

Установка PostgreSQL 12 в Debian 10 "Buster"

Установка PostgreSQL 12 в Debian 10 "Buster"

Isi kandungan:

Anonim

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

Tutorial ini membimbing anda melalui langkah-langkah memasang pelayan pangkalan data PostgreSQL pada Debian 10. Kami juga akan meneroka asas-asas pentadbiran pangkalan data asas.

Memasang PostgreSQL

Pada masa menulis artikel ini, versi terbaru PostgreSQL tersedia dari repositori lalai Debian adalah versi PostgreSQL 11.5.

Untuk memasang PostgreSQL pada pelayan Debian anda, lakukan langkah-langkah berikut sebagai root atau pengguna dengan keistimewaan sudo:

  1. Mulakan dengan mengemaskini indeks pakej APT:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

    Apabila pemasangan selesai, perkhidmatan PostgreSQL akan bermula. Untuk mengesahkan pemasangan, gunakan alat psql untuk mencetak versi pelayan:

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

    Output seharusnya kelihatan seperti berikut:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

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. Bergantung pada bagaimana anda menetapkan peranan, ia boleh mewakili pengguna pangkalan data atau sekumpulan pengguna pangkalan data.

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

  • Amanah - Peranan boleh menyambung tanpa kata laluan, selagi kriteria 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-teks) Ident - Hanya disokong untuk 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 . Untuk sambungan tempatan, PostgreSQL ditetapkan untuk menggunakan kaedah pengesahan rakan sebaya.

Pengguna "postgres" dibuat secara automatik apabila PostgreSQL dipasang. Pengguna ini adalah pengguna super bagi contoh PostgreSQL, dan ia bersamaan dengan pengguna root MySQL.

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

sudo su - postgres psql

Dari sini anda boleh berinteraksi dengan pelayan PostgreSQL. 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 localhost.

Mewujudkan Peranan dan Pangkalan Data PostgreSQL

Perintah createuser membolehkan anda membuat peranan baru dari baris arahan. Hanya CREATEROLE dan peranan dengan keistimewaan CREATEROLE boleh mencipta peranan baru.

Dalam contoh berikut, kami akan mencipta peranan baru bernama kylo , pangkalan data bernama kylodb dan memberi keistimewaan pada pangkalan data untuk peranan.

  1. Pertama, buat peranan dengan mengeluarkan arahan berikut:

    sudo su - postgres -c "createuser kylo"

    Seterusnya, buat pangkalan data menggunakan perintah createdb :

    sudo su - postgres -c "createdb kylodb"

    Untuk memberi kebenaran kepada pengguna pada pangkalan data, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    Jalankan pertanyaan berikut:

    grant all privileges on database kylodb to kylo;

Dayakan Akses Jauh ke Server PostgreSQL

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

Buka fail konfigurasi postgresql.conf dan tambah listen_addresses = '*' di bahagian CONNECTIONS AND AUTHENTICATION . Ini mengarahkan pelayan untuk mendengar semua antaramuka rangkaian.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/main/postgresql.conf

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

Simpan fail dan mulakan semula perkhidmatan PostgreSQL untuk perubahan yang berlaku:

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

Keluaran harus menunjukkan bahawa pelayan PostgreSQL mendengar pada semua antara muka (0.0.0.0).

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

Berikut adalah beberapa contoh yang menunjukkan kes penggunaan yang berlainan:

/etc/postgresql/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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

Kami telah menunjukkan kepada anda cara memasang dan mengkonfigurasi PostgreSQL pada Debian 10. Untuk maklumat lanjut mengenai topik ini, rujuk Dokumentasi PostgreSQL.

database pangkalan data debian