GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Postgres 13 Ubuntu 20.04

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.

Cek Juga:

  • Izin Postgres – Buat, Perbarui, Hapus Pengguna Basis Data
  • Cara Menginstal dan Mengonfigurasi Postgres 14 Ubuntu 20.04
  • Cara Menginstal dan Mengonfigurasi Postgres 14 di Centos 8
  • 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 Debian 11
  • 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 Ubuntu 20.04
  2. Akses root ke server atau pengguna dengan akses root
  3. Akses internet dari server
  4. Pengetahuan tentang terminal Linux

Daftar Isi

  1. Pastikan sistem Anda mutakhir
  2. Menginstal Postgres 13
  3. Metode Otentikasi Peran dan Basis Data PostgreSQL
  4. Menghubungkan ke database postgres
  5. Mengonfigurasi instance postgres untuk akses jarak jauh
  6. Pengelolaan pengguna
  7. Menghubungkan ke instance dari host jarak jauh

1. Pastikan 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

2. Menginstal Postgres 13

Postgres disediakan di repositori default Ubuntu. 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 13, kita perlu menambahkan repositori tambahan yang menyediakan paket.

Buat konfigurasi repositori file menggunakan perintah ini:

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 kita perbarui daftar paket:

sudo apt-get update

Kemudian kita instal versi spesifik dari postgres yang kita inginkan. Gunakan postgresql-13 bukannya postgresql :

sudo apt-get -y install postgresql-13

Setelah instalasi berhasil, Postgres 13 akan dimulai.

Gunakan perintah ini untuk memeriksa status layanan:

# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2021-08-06 17:59:37 UTC; 1min 25s ago
   Main PID: 25741 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 9257)
     CGroup: /system.slice/postgresql.service

Aug 06 17:59:37 frhb64566ds systemd[1]: Starting PostgreSQL RDBMS...
Aug 06 17:59:37 frhb64566ds systemd[1]: Finished PostgreSQL RDBMS.

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

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

Keluaran:

                                                                version
----------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 13.3 (Ubuntu 13.3-1.pgdg20.04+1) on aarch64-unknown-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 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 instalasi membuat akun pengguna yang disebut postgres yang dikaitkan dengan peran default postgres. 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. Kata sandi dapat disimpan sebagai scram-sha-256 , md5 , 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:

sudo -i -u postgres

Anda sekarang dapat mengakses prompt Postgres segera dengan mengetik:

$ psql
psql (13.3)
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 pengguna postgres

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

sudo -u postgres psql

5. Mengonfigurasi instance postgres untuk akses jarak jauh

Secara default postgres hanya diatur untuk diakses secara lokal. Ini tidak ideal jika kita ingin mengakses server kita dari host lain. Di bagian ini kita akan mengonfigurasi postgres untuk mengizinkan akses dari host jarak jauh.

File konfigurasi Postgres 13 dapat ditemukan di jalur ini/etc/postgresql/13/main/pg_hba.conf

Ubah identifikasi rekan menjadi percaya

Gunakan perintah ini untuk mengubah peer untuk trust

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

Ubah identifikasi identitas menjadi md5

Untuk mengizinkan login sandi, ubah ident ke md5 untuk setiap konfigurasi host

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

Tambahkan blok untuk mengizinkan akses dari mana saja

Tambahkan konten ini ke file /etc/postgresql/13/main/pg_hba.conf untuk mengizinkan akses kata sandi semua host:

host    all             all             0.0.0.0/0                md5

Pastikan PostgreSQL mendengarkan di *

Tambahkan baris ini ke konfigurasi di sini /etc/postgresql/13/main/postgresql.conf untuk mengizinkan postgres mendengarkan di semua host

listen_addresses='*'

Untuk menerapkan konfigurasi, kita perlu me-restart layanan postgres 13.

Aktifkan dan mulai ulang server postgresql untuk memuat ulang konfigurasi:

sudo systemctl restart postgresql
sudo systemctl enable postgresql

6. Manajemen pengguna

Buat pengguna Super:

Akan lebih baik jika kita membuat pengguna super untuk mengelola layanan postgres. Ini adalah satu pengguna yang memiliki izin untuk mengelola pengguna dan basis data lain.

Hubungkan ke DB sebagai postres peran

$ sudo -u postgres psql
psql (13.3 (Ubuntu 13.3-1.pgdg20.04+1))
Type "help" for help.

postgres=#

Buat pengguna super dengan nama root menggunakan perintah ini:

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

Periksa pengguna apakah itu telah dibuat dan diberikan hak istimewa yang diperlukan:

postgres=# 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                          | {} ```

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 ini tentang manajemen pengguna dan izin di postgres di sini.

7. Menghubungkan ke instance dari host jarak jauh

Gunakan perintah ini untuk menguji apakah Anda dapat terhubung:

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 13 di server Ubuntu, melakukan beberapa konfigurasi dasar kemudian melakukan manajemen pengguna dasar.


Ubuntu
  1. Cara Menginstal Postgresql dan phpPgAdmin di Ubuntu 15.04

  2. Cara Menginstal dan Mengonfigurasi Postgres 14 Ubuntu 20.04

  3. Cara Menginstal dan Mengkonfigurasi Postgres 14 di Debian 11

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  3. Cara Menginstal PostgreSQL di Ubuntu 18.04