GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal dan Mengkonfigurasi Postgres 14 di Debian 11

Postgresql adalah sistem basis data relasional objek sumber terbuka dengan lebih dari 30 tahun pengembangan aktif yang telah membuatnya mendapatkan reputasi yang kuat untuk keandalan, kekokohan fitur, dan kinerja. Postgres, adalah sistem manajemen basis data relasional sumber terbuka dan gratis yang menekankan ekstensibilitas dan kepatuhan SQL. Awalnya bernama POSTGRES, mengacu pada asal-usulnya sebagai penerus database Ingres yang dikembangkan di University of California, Berkeley. PostgreSQL digunakan sebagai penyimpanan data utama atau gudang data untuk banyak aplikasi web, seluler, geospasial, dan analitik. PostgreSQL dapat menyimpan data terstruktur dan tidak terstruktur dalam satu produk.

Periksa ini juga:

  • Cara Menggunakan Ansible untuk Menginstal dan Mengonfigurasi Postgres 14 di Debian 11
  • Cara Menginstal &Mengonfigurasi Postgres 14 di FreeBSD 13
  • Izin Postgres – Buat, Perbarui, Hapus Pengguna Basis Data
  • Cara Menginstal dan Mengonfigurasi Postgres 13 di Centos 8
  • Menjalankan Postgresql 14 dengan Docker dan Docker-Compose
  • Cara Menginstal dan Mengonfigurasi Postgres 13 Ubuntu 20.04
  • Cara Menginstal dan Mengonfigurasi Postgres 14 di Centos 8
  • Cara Menginstal dan Mengonfigurasi Postgres 14 Ubuntu 20.04
  • Cara Memasang dan Mengonfigurasi Postgres 14 di Fedora 34
  • Cara Menginstal &Mengonfigurasi Postgres 14 di OpenSUSE Leap 15.3

Prasyarat

Untuk mengikuti, pastikan Anda memiliki yang berikut:

  1. Server Debian 11
  2. Akses root ke server atau pengguna dengan akses root
  3. Akses internet dari server
  4. Pengetahuan dasar terminal Linux

Daftar isi

  1. Pastikan server terbaru
  2. Menginstal dan memulai Server Postgres
  3. Metode Otentikasi Peran dan Basis Data PostgreSQL
  4. Menghubungkan ke database postgres
  5. Mengonfigurasi instance postgres 14 untuk akses jarak jauh
  6. Pengelolaan pengguna

1. Pastikan paket sistem Anda mutakhir

Mari segarkan indeks paket lokal server Anda menggunakan perintah ini:

sudo apt update

Kemudian kami meningkatkan paket di sistem kami dengan ini:

sudo apt -y upgrade

Mari kita juga menginstal paket utilitas yang diperlukan yang akan kita gunakan

sudo apt -y install gnupg2 wget

2. Menginstal Postgres 14

Postgres disediakan di repositori default Debian. Untuk memeriksa versi yang disediakan, gunakan perintah ini:

sudo apt-cache search postgresql | grep postgresql

Paket default yang disediakan oleh repositori default adalah postgres 12. Jika Anda tertarik dengan Postgres 12, Anda dapat menginstal dengan perintah berikut. -contrib paket yang menambahkan beberapa utilitas dan fungsionalitas tambahan:

sudo apt install postgresql postgresql-contrib

Karena kita ingin menginstal Postgres 14, kita perlu menambahkan repositori tambahan yang menyediakan paket. Buat konfigurasi repositori file

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Kemudian impor kunci penandatanganan repositori:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Sekarang mari perbarui daftar paket untuk mencerminkan repo baru:

sudo apt -y update

Lalu akhirnya kita install Postgres versi terbaru:

sudo apt -y install postgresql

Setelah instalasi berhasil, Postgres 14 akan dimulai.

Gunakan perintah ini untuk memeriksa status layanan:

$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2021-10-18 04:33:26 UTC; 33s ago
    Process: 4788 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 4788 (code=exited, status=0/SUCCESS)
        CPU: 877us

Oct 18 04:33:26 ip-10-2-40-246 systemd[1]: Starting PostgreSQL RDBMS...
Oct 18 04:33:26 ip-10-2-40-246 systemd[1]: Finished PostgreSQL RDBMS.

Selanjutnya, mari kita erify instalasi dengan menghubungkan ke server database PostgreSQL dan memeriksa versinya. Gunakan perintah ini:

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

Keluaran

$ sudo -u postgres psql -c "SELECT version();"
                                                           version
-----------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 14.0 (Debian 14.0-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
(1 row)

3. Peran PostgreSQL dan Metode Otentikasi Basis Data

PostgreSQL menggunakan konsep yang disebut roles untuk menangani otentikasi dan otorisasi klien. Secara default, Postgres diatur untuk menggunakan ident authentication , artinya ia mengaitkan peran Postgres dengan akun sistem Unix/Linux yang cocok. Jika ada peran dalam Postgres, nama pengguna Unix/Linux dengan nama yang sama dapat masuk sebagai peran tersebut.

Prosedur penginstalan membuat akun pengguna bernama postgres  yang terkait dengan default postgres peran. Untuk menggunakan PostgreSQL, Anda dapat masuk ke akun tersebut.

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

  • Trust – Peran dapat terhubung tanpa kata sandi, selama kondisi yang ditentukan dalam pg_hba.conf terpenuhi.
  • Password – Peran dapat terhubung dengan memberikan kata sandi. Sandi dapat disimpan sebagai scram-sha-256md5 , dan password (clear-text ).
  • 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.

4. Menghubungkan ke database postgres

  1. Dengan Beralih ke postres pengguna

Beralih ke akun postgres di server Anda dengan mengetik ini di terminal;:

sudo -i -u postgres

Anda sekarang dapat mengakses prompt Postgres segera dengan mengetik:

$ psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

Ini akan memasukkan Anda ke prompt PostgreSQL, dan dari sini Anda bebas berinteraksi dengan sistem manajemen basis data segera.

2. Dengan menjalankan perintah sebagai postgres pengguna

Gunakan ini untuk menjalankan perintah secara langsung sebagai postgres pengguna menggunakan sudo

sudo -u postgres psql

Keluaran:

$ sudo -u postgres psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

5. Mengonfigurasi instance postgres 14 untuk akses jarak jauh

Untuk mencapai ini, kami akan memodifikasi file konfigurasi postgres. Kita perlu membuka file dan menyesuaikan konfigurasi yang diperlukan. File konfigurasi utama untuk Postgresql 14 dapat ditemukan di jalur ini /etc/postgresql/14/main/pg_hba.conf

Mari ubah identifikasi rekan menjadi kepercayaan:

sed -i '/^local/s/peer/trust/' /etc/postgresql/14/main/pg_hba.conf

Ubah identifikasi identitas menjadi md5 untuk mengizinkan login kata sandi.

sed -i '/^host/s/ident/md5/' /etc/postgresql/14/main/pg_hba.conf

Tambahkan blok untuk mengizinkan akses dari mana saja:

Tambahkan konten ini ke file /etc/postgresql/14/main/pg_hba.conf

host    all             all             0.0.0.0/0                md5

Pastikan PostgreSQL mendengarkan di *

Tambahkan baris ini ke konfigurasi di sini /etc/postgresql/14/main/postgresql.conf

listen_addresses='*'

Aktifkan dan mulai ulang server postgresql untuk memuat ulang konfigurasi

sudo systemctl restart postgresql
sudo systemctl enable postgresql

6. Manajemen pengguna

Membuat Pengguna Super

Sekarang semuanya sudah diatur, mari kita buat pengguna super.
Hubungkan ke DB sebagai peran postres:

# sudo -u postgres psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

Buat pengguna super dengan nama root :

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';

Keluaran:

# CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';
CREATE ROLE
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}

postgres=#

Mengelola Pengguna Aplikasi

Gunakan ini untuk membuat database, buat pengguna, dan berikan pengguna itu semua akses ke database itu:

create database app_db_name;
create user app_user with encrypted password 'dbpassword';
grant all privileges on database app_db_name to app_user;

Lihat panduan komprehensif tentang pengelolaan izin dan pengguna ini di postgres di sini.

Menghubungkan ke instance dari host jarak jauh

Gunakan perintah ini untuk terhubung ke instance postgres dari mesin lokal:

psql 'postgres://<username>:<password>@<host>:<port>/<db>?sslmode=disable'

# like
psql 'postgres://root:[email protected]:5432/postgres?sslmode=disable'

Kesimpulan

Sampai saat ini kami telah berhasil menginstal Postgresql 14 pada server Debian 11, melakukan beberapa konfigurasi dasar kemudian melakukan manajemen pengguna dasar.


Debian
  1. Cara Menginstal dan Mengonfigurasi Postgres 14 Ubuntu 20.04

  2. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di Debian 11

  3. Cara menginstal dan mengkonfigurasi MongoDB 5 di Debian 11

  1. Cara Menginstal dan Mengonfigurasi Postgres 13 Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Postgres 13 di Centos 8

  3. Cara menginstal dan mengkonfigurasi Redis 6 di Debian 11

  1. Cara menginstal dan mengkonfigurasi buruh pelabuhan di Debian 11

  2. Cara Menginstal dan Mengkonfigurasi Postgres 14 di Debian 11

  3. Cara Menginstal dan Mengonfigurasi Postgres 14 di Fedora 34