GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal PostgreSQL di Ubuntu 20.04

PostgreSQL atau Postgres adalah sistem manajemen basis data relasional tujuan umum sumber terbuka dengan banyak fitur canggih yang memungkinkan Anda membangun lingkungan yang toleran terhadap kesalahan atau aplikasi kompleks.

Dalam panduan ini, kami akan menjelaskan cara menginstal server database PostgreSQL di Ubuntu 20.04, dan menjelajahi dasar-dasar administrasi database PostgreSQL.

Prasyarat #

Untuk dapat menginstal paket, Anda harus login sebagai root atau pengguna dengan hak sudo.

Instal PostgreSQL di Ubuntu #

Pada saat artikel ini ditulis, versi terbaru PostgreSQL yang tersedia dari repositori resmi Ubuntu adalah PostgreSQL versi 10.4.

Jalankan perintah berikut untuk menginstal server PostgreSQL di Ubuntu:

sudo apt updatesudo apt install postgresql postgresql-contrib

Kami juga menginstal paket kontribusi PostgreSQL yang menyediakan beberapa fitur tambahan untuk sistem database PostgreSQL.

Setelah instalasi selesai, layanan PostgreSQL akan dimulai secara otomatis. Gunakan psql alat untuk memverifikasi instalasi dengan menghubungkan ke server database PostgreSQL dan mencetak versinya:

sudo -u postgres psql -c "SELECT version();"
PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit

Itu dia. PostgreSQL telah diinstal, dan Anda dapat mulai menggunakannya.

Peran PostgreSQL dan Metode Otentikasi #

Izin akses database dalam PostgreSQL ditangani dengan konsep peran. Peran dapat mewakili pengguna basis data atau sekelompok pengguna basis data.

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

  • Kepercayaan - Peran dapat terhubung tanpa kata sandi, selama kondisi 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 (teks-jelas).
  • Ident - Hanya didukung pada 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 . Secara default, PostgreSQL menggunakan metode otentikasi rekan untuk koneksi lokal.

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

Untuk masuk ke server PostgreSQL sebagai postgres pengguna, pertama-tama alihkan ke pengguna, lalu akses prompt PostgreSQL menggunakan psql utilitas:

sudo su - postgrespsql

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

\q

Cara lain untuk mengakses prompt PostgreSQL tanpa berpindah pengguna, adalah dengan menggunakan sudo perintah:

sudo -u postgres psql

Secara umum, Anda harus masuk ke server database sebagai postgres hanya dari localhost.

Membuat Peran dan Basis Data PostgreSQL #

Hanya pengguna super dan peran dengan CREATEROLE hak istimewa dapat membuat peran baru.

Contoh berikut menunjukkan cara membuat peran baru bernama john database bernama johndb dan berikan hak istimewa pada database:

  1. Buat peran PostgreSQL baru:

    sudo su - postgres -c "createuser john"
  2. Buat Database PostgreSQL baru:

    sudo su - postgres -c "createdb johndb"

Untuk memberikan izin kepada pengguna di database, 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, server PostgreSQL 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 CONNECTIONS AND AUTHENTICATION bagian.

sudo nano /etc/postgresql/12/main/postgresql.conf
/etc/postgresql/12/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

Simpan file dan mulai ulang layanan PostgreSQL:

sudo service postgresql restart

Verifikasi perubahan dengan ss utilitas:

ss -nlt | grep 5432

Keluaran menunjukkan bahwa server PostgreSQL mendengarkan semua antarmuka (0.0.0.0 ):

LISTEN  0        244              0.0.0.0:5432           0.0.0.0:*              
LISTEN  0        244                 [::]:5432              [::]:* 

Langkah selanjutnya adalah mengkonfigurasi server untuk menerima koneksi jarak jauh dengan mengedit pg_hba.conf berkas.

Berikut adalah beberapa contoh yang menunjukkan kasus penggunaan yang berbeda:

/etc/postgresql/12/main/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane can access all databases from all locations using md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane can access only the janedb from all locations using md5 password
host    janedb          jane            0.0.0.0/0                md5

# The user jane can access all databases from a trusted location (192.168.1.134) without a password
host    all             jane            192.168.1.134            trust

Langkah terakhir buka port 5432 di firewall Anda.

Dengan asumsi Anda menggunakan UFW untuk mengelola firewall Anda, dan Anda ingin mengizinkan akses dari 192.168.1.0/24 subnet, Anda akan menjalankan perintah berikut:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

Pastikan firewall Anda dikonfigurasi untuk menerima koneksi hanya dari rentang IP tepercaya.


Ubuntu
  1. Cara Menginstal PostgreSQL di Ubuntu 18.04

  2. Cara Menginstal PostgreSQL di Ubuntu 18.04

  3. Cara Menginstal PostgreSQL 9.5 di Ubuntu (12.04 - 15.10)

  1. Cara Menginstal pgAdmin4 di Ubuntu

  2. Instal PostgreSQL di Ubuntu 20.04

  3. Cara Menginstal OpenMAINT di Ubuntu 20.04

  1. Cara Menginstal Piwigo di Ubuntu 20.04

  2. Cara menginstal TimescaleDB di Ubuntu 20.04

  3. Cara Menginstal PostgreSQL 14 di Ubuntu 20.04