GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal PostgreSQL di Debian 10

PostgreSQL, sering dikenal hanya sebagai Postgres, adalah sistem manajemen basis data relasional sumber terbuka untuk tujuan umum. Ini memiliki banyak fitur canggih seperti pencadangan online, pemulihan titik waktu, transaksi bersarang, kueri SQL dan JSON, kontrol konkurensi multi-versi (MVCC), replikasi asinkron, dan banyak lagi.

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

Menginstal PostgreSQL #

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

Untuk menginstal PostgreSQL di server Debian Anda, lakukan langkah-langkah berikut sebagai root atau pengguna dengan hak sudo:

  1. Mulailah dengan memperbarui indeks paket APT:

    sudo apt update
  2. Instal server PostgreSQL dan paket contrib yang menyediakan fitur tambahan untuk database PostgreSQL:

    sudo apt install postgresql postgresql-contrib
  3. Setelah instalasi selesai, layanan PostgreSQL akan dimulai. Untuk memverifikasi instalasi, gunakan psql alat 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 berinteraksi dengan server PostgreSQL.

Peran PostgreSQL dan Metode Otentikasi #

PostgreSQL menangani izin akses database menggunakan konsep peran. Bergantung pada cara Anda menyiapkan peran, peran tersebut dapat mewakili pengguna basis data atau sekelompok pengguna basis data.

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

  • Kepercayaan - Peran dapat terhubung tanpa kata sandi, selama kriteria ditentukan dalam pg_hba.conf terpenuhi.
  • Kata Sandi - Peran dapat terhubung dengan memberikan kata sandi. Kata sandi dapat disimpan sebagai scram-sha-256 md5 dan password (teks-jelas)
  • Ident - Hanya didukung untuk koneksi TCP/IP. Ia bekerja dengan mendapatkan nama pengguna sistem operasi klien, dengan pemetaan nama pengguna opsional.
  • 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 disetel untuk menggunakan metode otentikasi rekan.

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

Untuk masuk ke server PostgreSQL sebagai “postgres”, alihkan ke userpostgres dan akses perintah PostgreSQL menggunakan psql utilitas:

sudo su - postgrespsql

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

\q

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

sudo -u postgres psql

postgres user biasanya hanya digunakan dari localhost.

Membuat Peran dan Basis Data PostgreSQL #

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

Dalam contoh berikut, kami akan membuat peran baru bernama kylo , database bernama kylodb dan berikan hak istimewa pada database untuk peran tersebut.

  1. Pertama, buat peran dengan mengeluarkan perintah berikut:

    sudo su - postgres -c "createuser kylo"
  2. Selanjutnya, buat database menggunakan createdb perintah:

    sudo su - postgres -c "createdb kylodb"
  3. Untuk memberikan izin kepada pengguna di database, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    Jalankan kueri berikut:

    GRANT ALL PRIVILEGES ON DATABASE kylodb TO kylo;

Aktifkan Akses Jarak Jauh ke Server PostgreSQL #

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

Jika Anda ingin terhubung ke server PostgreSQL dari lokasi yang jauh, Anda perlu mengatur server untuk mendengarkan pada antarmuka publik dan mengedit konfigurasi untuk menerima koneksi jarak jauh.

Buka file konfigurasi postgresql.conf dan tambahkan 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 semua antarmuka (0.0.0.0).

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

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

Debian
  1. Cara Menginstal PostgreSQL 11/10 di Debian 9 &Debian 8

  2. Cara Menginstal PostgreSQL di Debian 11 / Debian 10

  3. Cara Menginstal phpPgAdmin di Debian 9

  1. Cara Menginstal R di Debian 9

  2. Cara Menginstal PostgreSQL di Debian 9

  3. Cara Menginstal R di Debian 10

  1. Cara Menginstal pgAdmin di Debian 11 / Debian 10

  2. Cara Menginstal phpPgAdmin di Debian 11 / Debian 10

  3. Bagaimana cara menginstal Debian 11