GNU/Linux >> Belajar Linux >  >> Linux

Cara menginstal server PostgreSQL di Ubuntu 18.04

PostgreSQL adalah database open-source yang didukung di seluruh dunia. Dengan layanan lebih dari 30 tahun, PostgreSQL, berkat berbagai add-on yang tersedia, terkenal dengan ketangguhan, skalabilitas, dan kinerjanya.

Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.

Instalasi PostgreSQL

Untuk melanjutkan instalasi PostgreSQL, gunakan manajer paket apt. Pastikan untuk memperbarui cache:

$ sudo apt update && sudo apt install postgresql postgresql-contrib

Setelah instalasi selesai, layanan akan segera tersedia. Periksa file log di /var/log/postgresql/postgresql-10-main.log hanya untuk memastikan

#  tail /var/log/postgresql/postgresql-10-main.log

...LOG:  database system is ready to accept connections

...

Jika semuanya bekerja dengan benar, teks di atas akan berada di baris terakhir file log.

Memverifikasi pemasangan

Untuk memverifikasi instalasi PostgreSQL yang berhasil, gunakan klien baris perintah yang disebut psql. Pertama, gunakan pengguna default yang diinstal oleh layanan. Untuk mengakses database, proses otentikasi konfigurasi default PostgreSQL menggunakan pengguna sistem yang sama.

Untuk masuk dengan pengguna default , dari baris perintah, jalankan

$ sudo -i -u postgres

Sekarang, jalankan klien dan gunakan perintah \l untuk melihat daftar database yang tersedia :

$ sudo -i -u postgres

$ psql

postgres=# \l
                                                  List of databases

   Name    | Owner   | Encoding |   Collate | Ctype    | Access privileges

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

(3 rows)
                postgres=# \q

[email protected]:~$ exit

Setelah selesai, keluar dari klien dengan perintah \q dan kembali ke pengguna asli dengan mengetik 'keluar'.

Mengelola pengguna dan izin

Seperti yang disebutkan sebelumnya, PostgreSQL mengasumsikan bahwa setiap pengguna yang hadir dalam layanannya juga ada dalam sistem. Untuk membuat pengguna baru, pertama-tama tambahkan ke sistem melalui adduser:

$ sudo adduser tutorial

Adding user `tutorial' ...

Adding new group `tutorial' (1000) ...

Adding new user `tutorial' (1000) with group `tutorial' ...

Creating home directory `/home/tutorial' ...

Copying files from `/etc/skel' ...

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for tutorial

Enter the new value, or press ENTER for the default

        Full Name []:

        Room Number []:

        Work Phone []:

        Home Phone []:

        Other []:

Is the information correct? [Y/n] y

Dalam contoh berikut, pengguna yang disebut "tutorial" sedang dibuat, tanpa menentukan informasi lain, seperti nama atau nomor telepon. Setelah selesai, pengguna PostgreSQL dapat dibuat. dengan terlebih dahulu masuk dengan pengguna postgres:

$ sudo -i -u postgres
                $ createuser --interactive

Enter name of role to add: tutorial

Shall the new role be a superuser? (y/n) n

Shall the new role be allowed to create databases? (y/n) n

Shall the new role be allowed to create more new roles? (y/n) n

Setelah membuat pengguna, atur kata sandi, masuk melalui postgres pengguna super dan ubah pengguna yang baru saja Anda buat:

$ psql

postgres=# ALTER USER tutorial PASSWORD 'password'; ALTER ROLE;

Basis data untuk pengguna yang baru dibuat mungkin juga dibuat dengan menjalankan perintah:

$ createdb tutorial

Setelah selesai, logout dan coba login dengan pengguna yang baru dibuat:

$ sudo -i -u tutorial

[email protected]:~$ psql

psql (10.9 (Ubuntu 10.9-0ubuntu0.18.04.1))

Type "help" for help.
                tutorial=> \l

                                  List of databases

   Name    | Owner   | Encoding |   Collate | Ctype    | Access privileges

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 tutorial  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

(4 rows)

Mengaktifkan akses ke klien eksternal

Dalam beberapa kasus, mungkin perlu untuk mengizinkan akses oleh klien eksternal (misalnya mesin Anda) ke satu atau lebih database di server. Biasanya, PostgreSQL tidak dikonfigurasi untuk menerima koneksi yang tidak lokal, jadi ubah beberapa file konfigurasi.

File pertama yang dimodifikasi adalah file konfigurasi utama, di /etc/postgresql/10/main/postgresql.conf.

Pastikan untuk mengedit baris berikut dari:

listen_addresses = 'localhost'

Dengan:

listen_addresses = '*'

Dengan cara ini Anda memberi tahu PostgreSQL untuk mengharapkan koneksi masuk dari antarmuka jaringan apa pun.

Pastikan untuk menyimpan perubahan Anda. Sekarang lanjutkan mengedit file yang mengelola aturan akses server di /etc/postgresql/10/main/pg_hba.conf, dengan menambahkan baris berikut:

host    tutorial        tutorial 0.0.0.0/0               md5

Modifikasi ini memungkinkan pengguna "tutorial" mengakses database-nya dari host mana pun. Secara khusus , bidang yang ditunjukkan adalah:

  1. host:jenis koneksi yang Anda terima. Nilai yang mungkin adalah:

    • lokal:koneksi non-jaringan dari sistem
    • host:semua jenis koneksi TCP / IP
    • hostssl:Koneksi TCP / IP hanya di bawah protokol SSL
    • hostnossl:Koneksi TCP / IP TIDAK di bawah protokol SSL
  2. tutorial:nama database untuk mengizinkan akses, gunakan "semua" untuk merujuk ke semua database

  3. tutorial:nama pengguna untuk memberikan akses

  4. 0.0.0.0/0:Alamat IP, jika Anda mengizinkan akses ke alamat IPv4 apa pun

  5. md5:metodologi otentikasi yang diterima, beberapa yang paling penting adalah:

    • md5:otentikasi kata sandi
    • trust:menerima koneksi tanpa syarat tanpa syarat
    • peer:menggunakan nama pengguna sistem untuk terhubung hanya ke database dengan nama yang sama.

Untuk informasi lebih lanjut, akses alamat https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html atau dokumen resmi PostgreSQL.

Setelah berakhir, mulai ulang layanan untuk menerapkan semua perubahan:

$ sudo systemctl restart postgresql

Linux
  1. Cara Menginstal lokasi di Server Ubuntu

  2. Cara Menginstal VSFTPD di server Cloud Ubuntu

  3. Cara Menginstal MariaDB di Ubuntu 22.04

  1. Cara Menginstal PostgreSQL dan pgAdmin4 di Ubuntu 20.04

  2. Cara Menginstal PostgreSQL 14 di Ubuntu 20.04

  3. Bagaimana Cara Menginstal Ubuntu Server 15.10 di Hyper-v?

  1. Cara Menginstal PostgreSQL di Ubuntu 16.04

  2. Cara menginstal OpenLDAP di Ubuntu Server 22.04

  3. Cara Menginstal Lighttpd di Server Ubuntu