Android

Cara menginstal postgresql pada debian 9

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. PostgreSQL memiliki banyak fitur-fitur canggih seperti backup online, titik waktu pemulihan, transaksi bersarang, SQL dan JSON query, multi-versi concurrency control (MVCC), replikasi asynchronous dan banyak lagi.

Dalam tutorial ini, kami akan menunjukkan cara untuk menginstal PostgreSQL di Debian 9 dan menjelajahi dasar administrasi database dasar.

Prasyarat

Sebelum melanjutkan dengan tutorial ini, pastikan pengguna yang Anda login sebagai memiliki hak sudo.

Instalasi PostgreSQL

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

Untuk menginstal PostgreSQL di server Debian Anda, lakukan langkah-langkah berikut:

  1. Mulailah dengan memperbarui indeks paket lokal:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

    Ketika instalasi selesai, layanan PostgreSQL akan mulai secara otomatis. Untuk memverifikasi instalasi kami akan terhubung ke server database PostgreSQL menggunakan psql utilitas dan mencetak versi server:

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

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

Peran PostgreSQL dan Metode Otentikasi

PostgreSQL menangani izin akses basis data menggunakan konsep peran. Peran dapat mewakili pengguna basis data atau sekelompok pengguna basis data.

PostgreSQL mendukung sejumlah metode otentikasi. Metode yang paling umum digunakan adalah:

  • Kepercayaan - Dengan metode ini, peran dapat terhubung tanpa kata sandi, selama kriteria yang 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 (clear-text) Ident - Metode ini hanya didukung pada koneksi TCP / IP. Pekerjaan 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 . Secara default untuk koneksi lokal, PostgreSQL diatur untuk menggunakan metode otentikasi rekan.

Pengguna postgres dibuat secara otomatis ketika Anda menginstal PostgreSQL. Pengguna ini adalah superuser untuk instance PostgreSQL dan itu setara dengan pengguna root MySQL.

Untuk masuk ke server PostgreSQL sebagai pengguna postgres terlebih dahulu Anda harus beralih ke postgres pengguna dan kemudian Anda dapat mengakses prompt PostgreSQL menggunakan utilitas psql :

sudo su - postgres psql

Dari sini Anda dapat berinteraksi dengan instance PostgreSQL Anda. 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 host lokal dan disarankan untuk tidak mengatur kata sandi untuk pengguna ini.

Membuat PostgreSQL Peran dan Database

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

Dalam contoh berikut, kami akan membuat peran baru bernama john database bernama johndb dan memberikan hak istimewa pada database.

  1. Buat Peran PostgreSQL baru

    Perintah berikut akan membuat peran baru bernama john:

    sudo su - postgres -c "createuser john"

    Buat Database PostgreSQL baru

    Buat database baru bernama johndb menggunakan perintah Createdb:

    sudo su - postgres -c "createdb johndb"

    Berikan hak istimewa

    Untuk memberikan izin kepada pengguna john pada database yang kami buat pada langkah sebelumnya, sambungkan ke shell PostgreSQL:

    sudo -u postgres psql

    dan jalankan kueri berikut:

    grant all privileges on database johndb to john;

Aktifkan akses jarak jauh ke server PostgreSQL

Secara default PostgreSQL, server hanya mendengarkan pada antarmuka lokal 127.0.0.1 . Untuk mengaktifkan akses jarak jauh ke server PostgreSQL Anda, buka file konfigurasi postgresql.conf dan tambahkan listen_addresses = '*' di bagian 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 file dan mulai ulang layanan PostgreSQL dengan:

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

Seperti yang Anda lihat dari output di atas, server PostgreSQL mendengarkan pada semua antarmuka (0.0.0.0).

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

Berikut adalah beberapa contoh yang menunjukkan kasus penggunaan yang berbeda:

/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

Kesimpulan

Anda telah belajar cara menginstal dan mengkonfigurasi PostgreSQL di server Debian 9 Anda. Untuk informasi lebih lanjut tentang topik ini, bacalah Dokumentasi PostgreSQL.

database postgresql debian