PostgreSQL (sering disingkat Postgres) adalah sistem manajemen database objek-relasional (ORDBMS) yang menekankan ekstensibilitas dan kepatuhan standar.
Ini memiliki lebih dari 30 tahun pengembangan aktif dan arsitektur terbukti yang membuatnya mendapatkan reputasi yang kuat untuk keandalan, integritas data, dan kinerja.
PostgreSQL dirilis di bawah Lisensi PostgreSQL dan tersedia untuk Linux, Microsoft Windows, FreeBSD, OpenBSD, dan macOS.
Dalam posting ini, kita akan melihat cara menginstal PostgreSQL di Debian 11 / Debian 10.
Tambahkan repositori PostgreSQL
PostgreSQL menerbitkan paket untuk sistem operasi Debian melalui repositori khusus mereka, dan paket dalam repositori mereka lebih segar daripada yang tersedia di repositori OS.
Pertama, perbarui indeks repositori menggunakan apt
perintah
sudo apt update
Kemudian, instal dukungan HTTPS untuk paket apt to get dari internet.
sudo apt install -y curl apt-transport-https
Sekarang, impor kunci penandatanganan PostgreSQL.
# Debian 11 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg # Debian 10 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Terakhir, tambahkan informasi repositori PostgreSQL ke sistem dengan perintah di bawah ini.
# Debian 11 echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list # Debian 10 echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Instal PostgreSQL di Debian
Setelah Anda menambahkan repositori PostgreSQL, jalankan perintah berikut untuk memperbarui indeks repositori.
sudo apt update
Kemudian, instal PostgreSQL menggunakan perintah di bawah ini berdasarkan versi PostgreSQL yang ingin Anda instal.
# PostgreSQL 13 sudo apt install -y postgresql-13 # PostgreSQL 12 sudo apt install -y postgresql-12
Saat ini, layanan PostgreSQL akan aktif dan berjalan. Anda dapat memeriksa status layanan dengan perintah di bawah ini.
sudo systemctl status postgresql
Keluaran:
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago Main PID: 3759 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2343) Memory: 0B CGroup: /system.slice/postgresql.service Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS... Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.
Konfigurasi Server PostgreSQL
Secara default, PostgreSQL mendengarkan di localhost (127.0.0.1), yang mungkin tidak selalu Anda inginkan karena aplikasi eksternal mungkin perlu terhubung ke database. Jadi, kita akan mengonfigurasi PostgreSQL untuk mendengarkan alamat IP sistem.
# PostgreSQL 13 sudo nano /etc/postgresql/13/main/postgresql.conf # PostgreSQL 12 sudo nano /etc/postgresql/12/main/postgresql.conf
Setel listen_addresses
ke *
atau <IPAddress>
.
listen_addresses = '192.168.0.10'
Mulai ulang layanan PostgreSQL.
sudo systemctl restart postgresql
Anda sekarang dapat menggunakan netstat
perintah untuk mengonfirmasi apakah PostgreSQL mendengarkan pada port 5432 atau tidak.
sudo netstat -antup | grep 5432
Keluaran:
tcp 0 0 192.168.0.10:5432 0.0.0.0:* LISTEN 5265/postgres
BACA :perintah netstat tidak ditemukan di Debian – Perbaikan Cepat
Akses PostgreSQL
Untuk mengelola database PostgreSQL, Anda harus login sebagai postgres
(Pengguna Linux) dan kemudian harus mengakses shell database menggunakan psql
perintah.
sudo -u postgres psql
Keluaran:
postgres@server:~$ psql psql (13.4 (Debian 13.4-1.pgdg100+1)) Type "help" for help. postgres=#
Di psql
shell, jalankan perintah di bawah ini untuk mengubah postgres
pengguna (Kata sandi admin basis data.
postgres=# \password
ATAU
postgres=# \password postgres
Buat Database dan Pengguna PostgreSQL
Pertama, buat pengguna database dengan perintah di bawah ini.
CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';
Selanjutnya, buat database dengan perintah di bawah ini.
CREATE DATABASE mydb WITH OWNER mydb_user;
Kemudian, Anda dapat memberikan hak istimewa kepada mydb_user
pada database yang baru dibuat.
GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;
Sekarang, periksa apakah pengguna telah dibuat atau belum.
postgres=# \du
Keluaran:
postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- mydb_user | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} postgres=#
Juga, Anda dapat membuat daftar database untuk melihat apakah database Anda mydb
telah dibuat.
postgres=# \l
Keluaran:
postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-----------+----------+-------------+-------------+------------------------- mydb | mydb_user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user + | | | | | mydb_user=CTc/mydb_user 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 (4 rows) postgres=#
Terakhir, masuk ke mydb
dengan pengguna basis data mydb_user
.
psql -h localhost -d mydb -U mydb_user
Keluaran:
Password for user mydb_user: psql (13.4 (Debian 13.4-1.pgdg110+1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. mydb=>
Kesimpulan
Itu saja. Saya harap Anda telah mempelajari cara menginstal PostgreSQL di Debian 11 / Debian 10.