PostgreSQL (dikenal sebagai Postgres) adalah sistem manajemen basis data relasional objek (ORDBMS), tersedia untuk banyak platform termasuk Linux, Microsoft Windows, FreeBSD, HP-UX, AIX, Solaris, dan Mac OS.
PostgreSQL dirilis di bawah Lisensi PostgreSQL, lisensi perangkat lunak permisif gratis dan open source, yang dikembangkan oleh PGDG (PostgreSQL Global Development Group), sekelompok sukarelawan individu dan perusahaan korporat.
Dalam postingan ini, kita akan membahas penginstalan PostgreSQL 11/10 di Debian 9 / Debian 8.
Tambahkan repositori PostgreSQL
PostgreSQL menerbitkan paket deb untuk platform berbasis Debian, dan paketnya lebih baru daripada yang tersedia di repositori dasar OS.
Impor kunci penandatanganan PostgreSQL.
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -
Tambahkan informasi repositori PostgreSQL ke /etc/apt/sources.list.d/postgresql.list berkas.
### Debian 9 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list ### Debian 8 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Instal PostgreSQL
Setelah Anda menambahkan repositori PostgreSQL, jalankan perintah berikut untuk memperbarui indeks repositori.
sudo apt-get update
Instal PostgreSQL menggunakan perintah apt-get.
### PostgreSQL 11 ### sudo apt install -y postgresql-11 ### PostgreSQL 10 ### sudo apt install -y postgresql-10
Kontrol layanan PostgreSQL
Untuk memulai layanan PostgreSQL, jalankan:
sudo systemctl start postgresql
Untuk menghentikan layanan PostgreSQL, jalankan:
sudo systemctl stop postgresql
Untuk memulai ulang layanan PostgreSQL, jalankan:
sudo systemctl restart postgresql
Untuk memeriksa status layanan PostgreSQL, jalankan:
sudo systemctl status postgresql
Keluaran:
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2019-02-23 01:49:54 EST; 23s ago Main PID: 2586 (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service Feb 23 01:49:54 server systemd[1]: Starting PostgreSQL RDBMS... Feb 23 01:49:54 server systemd[1]: Started PostgreSQL RDBMS.
Konfigurasi Server PostgreSQL
PostgreSQL hanya mendengarkan pada adaptor loopback (127.0.0.1) . Terkadang aplikasi yang dihosting di eksternal mungkin perlu terhubung ke database. Untuk itu, kita perlu mengonfigurasi PostgreSQL untuk mendengarkan di semua adaptor.
### PostgreSQL 11 ### sudo nano /etc/postgresql/11/main/postgresql.conf ### PostgreSQL 10 ### sudo nano /etc/postgresql/10/main/postgresql.conf
Setel listen_addresses
ke *
atau <IPAddress>
.
listen_addresses = '*'
Mulai ulang layanan PostgreSQL.
sudo systemctl restart postgresql
Konfirmasi mendengarkan PostgreSQL pada port 5432 menggunakan perintah netstat.
sudo netstat -antup | grep 5432
Keluaran:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 3712/postgres tcp6 0 0 :::5432 :::* LISTEN 3712/postgres
BACA :perintah netstat tidak ditemukan di Ubuntu – Perbaikan Cepat
Akses PostgreSQL
Untuk mengelola database, Anda harus login sebagai pengguna postgres.
sudo su -l postgres
Akses database menggunakan psql memerintah. Ini adalah shell interaktif untuk bekerja dengan database PostgreSQL .
psql
Keluaran:
postgres@server:~$ psql psql (11.2 (Debian 11.2-1.pgdg90+1)) Type "help" for help. postgres=#
Database PostgreSQL yang aman
Kami akan menetapkan kata sandi untuk pengguna Linux (postgres) serta administrator DB (postgres) .
Setel kata sandi untuk pengguna Linux (postgres):
sudo passwd postgres
Keluaran:
raj@mydebian:~$ sudo passwd postgres Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Setel kata sandi untuk administrator DB (postgres):
su - postgres psql
Pada cangkang psql , jalankan perintah di bawah ini untuk mengubah kata sandi admin database.
postgres=# \password
ATAU
postgres=# \password postgres
Keluaran:
postgres=# \password postgres Enter new password: Enter it again:
Perintah DB PostgreSQL
Sintaks untuk membuat database adalah:
$ su - postgres $ createdb test
Sintaks untuk membuat pengguna (raj) adalah:
$ psql test test=# CREATE USER raj WITH SUPERUSER LOGIN PASSWORD 'password';
Periksa apakah pengguna baru telah dibuat atau belum.
test=# \du
Keluaran:
test=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} raj | Superuser | {}
Masuk dengan pengguna “raj”.
psql -h localhost -d test -U raj
Keluaran:
psql (11.2 (Debian 11.2-1.pgdg90+1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. test=#
Sintaks untuk membuat daftar database:
test=# \l
Keluaran:
test=# \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 test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows)
Itu saja. Anda telah berhasil menginstal PostgreSQL 11/10 di Debian 9 / Debian 8.