Android

Bagaimana menginstal postgresql pada debian 10

Moodle Proxmox Debian 10 Nginx PostgreSQL PHP7 4 FPM

Moodle Proxmox Debian 10 Nginx PostgreSQL PHP7 4 FPM

Daftar Isi:

Anonim

PostgreSQL, sering dikenal hanya sebagai Postgres, adalah sebuah sistem manajemen basis data objek-relasional tujuan-terbuka open source. Ini memiliki banyak fitur canggih seperti backup online, titik waktu pemulihan, transaksi bersarang, SQL dan JSON query, multi-versi concurrency control (MVCC), replikasi asynchronous, dan banyak lagi.

Tutorial ini menuntun Anda melalui langkah-langkah menginstal server database PostgreSQL di Debian 10. Kami juga akan menjelajahi dasar-dasar administrasi database dasar.

Instalasi PostgreSQL

Pada saat menulis artikel ini, versi terbaru dari PostgreSQL tersedia dari default Debian repositori adalah PostgreSQL versi 11.5.

Untuk menginstal PostgreSQL pada server Debian Anda melakukan langkah-langkah berikut sebagai root atau user dengan hak sudo:

  1. Mulai dengan memperbarui indeks paket APT:

    sudo apt update

    Menginstal server dan contrib paket PostgreSQL yang menyediakan fitur tambahan untuk database PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    Setelah instalasi selesai, layanan PostgreSQL akan dimulai. Untuk memverifikasi instalasi, gunakan alat psql untuk mencetak versi server:

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

    Outputnya akan terlihat 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 memungkinkan Anda untuk berinteraksi dengan server PostgreSQL.

Peran PostgreSQL dan Metode Otentikasi

PostgreSQL menangani izin akses basis data menggunakan konsep peran. Tergantung pada bagaimana Anda mengatur peran, dapat mewakili pengguna database atau kelompok pengguna database.

PostgreSQL mendukung beberapa metode otentikasi. Metode yang paling sering digunakan adalah:

  • Trust - Peran dapat terhubung tanpa password, asalkan kriteria yang ditetapkan dalam pg_hba.conf yang met.Password - Peran dapat terhubung dengan memberikan password. Password dapat disimpan sebagai scram-sha-256 md5 dan password (jelas-teks) Ident - Hanya didukung untuk koneksi TCP / IP. Ia bekerja dengan mendapatkan sistem operasi nama pengguna klien, dengan opsional nama pengguna mapping.Peer - Sama seperti Ident, tetapi hanya didukung pada koneksi lokal.

Otentikasi klien PostgreSQL didefinisikan dalam file konfigurasi bernama pg_hba.conf . Untuk koneksi lokal, PostgreSQL diatur untuk menggunakan metode otentikasi rekan.

Pengguna "postgres" secara otomatis dibuat ketika PostgreSQL diinstal. Pengguna ini adalah superuser untuk contoh PostgreSQL, dan itu adalah setara dengan pengguna MySQL root.

Untuk login ke server PostgreSQL sebagai “postgres”, beralih ke user postgres dan akses PostgreSQL cepat menggunakan psql utilitas:

sudo su - postgres psql

Dari sini Anda dapat berinteraksi dengan server PostgreSQL. Untuk keluar dari jenis shell PostgreSQL:

\q

Anda dapat menggunakan perintah sudo untuk mengakses prompt PostgreSQL tanpa mengalihkan pengguna:

sudo -u postgres psql

Pengguna postgres biasanya hanya digunakan dari localhost.

Membuat PostgreSQL Peran dan Database

Perintah createuser memungkinkan Anda untuk membuat peran baru dari baris perintah. Hanya pengguna CREATEROLE dan peran dengan hak istimewa CREATEROLE dapat membuat peran baru.

Pada contoh berikut, kita akan menciptakan sebuah peran baru bernama kylo , database bernama kylodb dan memberikan hak istimewa pada database untuk peran.

  1. Pertama, buat peran dengan mengeluarkan perintah berikut:

    sudo su - postgres -c "createuser kylo"

    Berikutnya, membuat database menggunakan createdb perintah:

    sudo su - postgres -c "createdb kylodb"

    Untuk memberikan izin kepada pengguna pada database, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    Menjalankan query berikut:

    grant all privileges on database kylodb to kylo;

Aktifkan Akses Jarak Jauh ke Server PostgreSQL

Secara default, PostgreSQL, server hanya mendengarkan pada antarmuka lokal 127.0.0.1 .

Buka file konfigurasi postgresql.conf dan menambahkan listen_addresses = '*' di CONNECTIONS AND AUTHENTICATION bagian. Ini menginstruksikan server untuk mendengarkan semua antarmuka jaringan.

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 file dan mulai ulang layanan PostgreSQL agar perubahan diterapkan:

sudo service postgresql restart

Verifikasi perubahan dengan ss utilitas:

ss -nlt | grep 5432

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

Keluaran harus menunjukkan bahwa server PostgreSQL mendengarkan pada semua antarmuka (0.0.0.0).

Langkah terakhir adalah mengkonfigurasi server untuk menerima login jarak jauh dengan mengedit file pg_hba.conf .

Berikut adalah beberapa contoh yang menunjukkan kasus penggunaan yang berbeda:

/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

Kesimpulan

Kami telah menunjukkan Anda bagaimana untuk menginstal dan mengkonfigurasi PostgreSQL di Debian 10. Untuk informasi lebih lanjut tentang topik ini, konsultasikan dengan Dokumentasi PostgreSQL.

database postgresql debian