GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara Menginstal &Mengkonfigurasi Postgres 14 di OpenSUSE Leap 15.3

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.

Dalam panduan ini kita akan menginstal Postgresql 14 di OpenSUSE Leap 15.3

Konten Terkait

  • Cara Menginstal &Mengonfigurasi Postgres 14 di FreeBSD 13
  • Izin Postgres – Buat, Perbarui, Hapus Pengguna Basis Data
  • 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 Menginstal dan Mengonfigurasi Postgres 14 Ubuntu 20.04
  • Cara Memasang dan Mengonfigurasi Postgres 14 di Fedora 34

Prasyarat

Untuk mengikuti, pastikan Anda memiliki yang berikut:

  1. Server Opensuse Leap 15 yang diperbarui
  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. Manajemen pengguna di Postgres 14

1. Pastikan server terbaru

Sebelum melanjutkan, izinkan kami memastikan bahwa server kami memiliki paket terbaru. Pertama, perbarui database paket repo

~> sudo zypper ref
Repository 'Update repository of openSUSE Backports' is up to date.
Repository 'Debug Repository' is up to date.
Repository 'Update Repository (Debug)' is up to date.
Repository 'Non-OSS Repository' is up to date.
Repository 'Main Repository' is up to date.
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date.
Repository 'Source Repository' is up to date.
Repository 'Main Update Repository' is up to date.
Repository 'Update Repository (Non-Oss)' is up to date.
All repositories have been refreshed.

Kemudian gunakan perintah ini untuk memperbarui paket:

~> sudo zypper up
Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata ...................................[done]
Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache ........................................[done]
Loading repository data...
Reading installed packages...
Nothing to do.

2. Menginstal dan memulai Server Postgres

Secara default, Opensuse Leap tidak mengandung repo Postgresql. Kami akan menggunakan repo yang disediakan oleh tim postgres untuk menyiapkan repositori untuk postgres 14. Ini akan memungkinkan kami untuk menginstal Postgres.

Mari kita Instal repositori Postgres menggunakan perintah ini:

sudo zypper addrepo https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo

Kemudian sebelum menginstal, refresh repo menggunakan perintah ini:

sudo zypper ref

Terakhir instal server PostgreSQL 14. Kami juga menginstal paket Contrib yang menyediakan beberapa fitur tambahan untuk sistem database PostgreSQL:

sudo zypper in postgresql14-server postgresql14-contrib

Setelah instalasi selesai, inisialisasi database PostgreSQL dengan perintah berikut:

~> sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
Initializing database ... OK

Mulai postgres menggunakan perintah ini:

sudo systemctl start postgresql-14

Kemudian aktifkan layanan agar dimulai saat server di-boot ulang.

~> sudo systemctl enable postgresql-14
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-14.service → /usr/lib/systemd/system/postgresql-14.service.

Konfirmasikan bahwa Postgres sedang berjalan:

~> sudo systemctl status postgresql-14
● postgresql-14.service - PostgreSQL 14 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2021-10-26 18:52:54 UTC; 38s ago
       Docs: https://www.postgresql.org/docs/14/static/
   Main PID: 26244 (postmaster)
      Tasks: 8 (limit: 4587)
     CGroup: /system.slice/postgresql-14.service
             ├─26244 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
             ├─26245 postgres: logger
             ├─26247 postgres: checkpointer
             ├─26248 postgres: background writer
             ├─26249 postgres: walwriter
             ├─26250 postgres: autovacuum launcher
             ├─26251 postgres: stats collector
             └─26252 postgres: logical replication launcher

Oct 26 18:52:54 ip-10-2-40-60 systemd[1]: Starting PostgreSQL 14 database server...
Oct 26 18:52:54 ip-10-2-40-60 postmaster[26244]: 2021-10-26 18:52:54.691 UTC [26244] LOG:  redirecting log output to logging collector>
Oct 26 18:52:54 ip-10-2-40-60 postmaster[26244]: 2021-10-26 18:52:54.691 UTC [26244] HINT:  Future log output will appear in directory>
Oct 26 18:52:54 ip-10-2-40-60 systemd[1]: Started PostgreSQL 14 database server.

Active: active (running) menunjukkan bahwa layanan aktif dan berjalan.

Selanjutnya, mari kita verifikasi bahwa instalasi berhasil dengan menghubungkan ke server database PostgreSQL dan mencetak versinya:

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

Keluaran:

~> sudo -u postgres psql -c "SELECT version();"
                                      version
------------------------------------------------------------------------------------
 PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux) 7.5.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 bernama postgres yang terkait dengan postgres default 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. 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 ini di terminal;:

sudo -i -u postgres

Anda sekarang dapat mengakses prompt Postgres segera dengan mengetik:

~> psql
psql (14.0)
Type "help" for help.

postgres=#

Ini akan memasukkan Anda ke dalam perintah PostgreSQL, dan dari sini Anda bebas untuk langsung berinteraksi dengan sistem manajemen basis data.

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)
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 /var/lib/pgsql/14/data/pg_hba.conf

Mari ubah identifikasi rekan menjadi kepercayaan:

sed -i '/^local/s/peer/trust/' /var/lib/pgsql/14/data/pg_hba.conf

Ubah identifikasi identitas menjadi md5 untuk mengizinkan login kata sandi.

sed -i '/^host/s/ident/md5/' /var/lib/pgsql/14/data/pg_hba.conf

Tambahkan blok untuk mengizinkan akses dari mana saja:

Tambahkan konten ini ke file /var/lib/pgsql/14/data/pg_hba.conf

host    all             all             0.0.0.0/0                md5

Pastikan PostgreSQL mendengarkan di *

Tambahkan baris ini ke konfigurasi di sini /var/lib/pgsql/14/data/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)
Type "help" for help.

postgres=#

Buat pengguna super dengan nama root :

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

Keluaran:

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                          | {}

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 ini tentang manajemen pengguna dan izin 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 Opensuse Leap 15.3, melakukan beberapa konfigurasi dasar kemudian melakukan manajemen pengguna dasar.


OpenSuse
  1. Cara Menginstal PostgreSQL dan phpPgAdmin di OpenSUSE Leap 42.1

  2. Bagaimana menginstal Mongodb 5 di Opensuse Leap 15.3

  3. Bagaimana menginstal Mysql Server 8 pada OpenSUSE Leap 15.3

  1. Cara menginstal &mengkonfigurasi Redis 6 pada OpenSUSE Leap 15.3

  2. Bagaimana cara menginstal Erlang di Opensuse Leap 15.3

  3. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di OpenSUSE Leap 15.3

  1. Cara Menginstal dan Mengkonfigurasi KVM di OpenSUSE Leap 15

  2. Bagaimana menginstal Java 17 di OpenSUSE Leap 15.3

  3. Bagaimana menginstal dan mengkonfigurasi Proxy Squid di OpenSUSE Leap 11