Dalam artikel ini, kami akan menunjukkan cara Menginstal PostgreSQL 12 di Ubuntu 20.04/18.04/16.04. PostgreSQL adalah sistem database open-source dan sangat kuat seperti sistem database relasional lainnya.
Anda dapat melihat halaman rilis postgreSQL 12.
Langkah-Langkah Menginstal PostgreSQL 12 di Ubuntu
Langkah 1:Perbarui sistem Ubuntu
Selalu disarankan untuk memperbarui sistem sebelum menginstal PostgreSQL.
sudo apt update
Langkah 2:Instal paket yang diperlukan
sudo apt -y install vim bash-completion wget
Jika paket tersebut sudah terinstal maka Anda akan mendapatkan output di bawah ini, Anda dapat mengabaikannya.
Contoh Keluaran:
root@PostgreSQL:~# sudo apt -y install vim bash-completion wgetMembaca daftar paket... SelesaiMembangun pohon ketergantungan Membaca informasi status... Penyelesaian selesai sudah merupakan versi terbaru (1:2.11-2ubuntu1).vim sudah merupakan versi terbaru (2:8.2.0716-3ubuntu2).wget sudah menjadi versi terbaru (1.20.3-1ubuntu1).wget diatur untuk diinstal secara manual.Paket berikut diinstal secara otomatis dan tidak lagi diperlukan:virtualbox-guest -utilsGunakan 'sudo apt autoremove' untuk menghapusnya.0 ditingkatkan, 0 baru diinstal, 0 untuk dihapus dan 212 tidak ditingkatkan.root@PostgreSQL:~#
Langkah 3:Tambahkan repositori PostgreSQL 12
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.listLangkah 4:Instal PostgreSQL 12 di Ubuntu
sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12Contoh Keluaran:
root@PostgreSQL:~# sudo apt -y install postgresql-12 postgresql-client-12Membaca daftar paket... SelesaiMembangun pohon dependensi Membaca informasi status... SelesaiPaket berikut telah diinstal secara otomatis dan tidak lagi diperlukan:virtualbox- guest-utilsGunakan 'sudo apt autoremove' untuk menghapusnya. Paket tambahan berikut akan diinstal:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-client-commonpostgresql-common sysstat package :postgresql-doc-12 isagPaket BARU berikut akan diinstal:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serializer-perl pgdg-keyring postgresql-12 postgresql-client-12postgresql-client-common postgresql-common sysstat0 ditingkatkan, 11 baru diinstal, 0 untuk dihapus dan 212 tidak ditingkatkan. Perlu mendapatkan 17,5 MB arsip. Setelah operasi ini, 59,4 MB ruang disk tambahan akan digunakan. Dapatkan:1 http://apt.postgresql.org/ pub/repos/apt groovy-pgdg/main amd64 libpq 5 amd64 13.3-1.pgdg20.10+1 [177 kB]Dapatkan:2 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libcommon-sense-perl amd64 3.75-1build2 [20.5 kB]Dapatkan:3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl all 4.02000-2 [80.9 kB]Dapatkan:4 http://apt.postgresql.org/pub/repos/apt groovy-pgdg /main amd64 pgdg-keyring all 2018.2 [10.7 kB]Dapatkan:5 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-common all 226.pgdg20.10+1 [ 90.6 kB]Dapatkan:6 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libtypes-serialiser-perl all 1.0-1 [12.1 kB]Dapatkan:7 http://us.archive.ubuntu.com /ubuntu groovy/main amd64 libjson-xs-perl amd64 4.020-1build1 [83.7 kB]Dapatkan:8 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-12 amd64 12.7 -1.pgdg20.10+1 [1,429 kB]Dapatkan:9 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 sysstat amd64 12.4.0-1 [471 kB]Dapatkan:10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common semua 226.pgdg20.10+1 [2 46 kB]Dapatkan:11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14.9 MB]Diambil 17,5 MB dalam 15 detik ( 1.141 kB/s) Prakonfigurasi paket ...Memilih paket yang sebelumnya tidak dipilih libcommon-sense-perl.(Membaca database ... 192977 file dan direktori saat ini diinstal.)Bersiap untuk membongkar .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ...Membongkar libcommon-sense-perl (3.75-1build2) ...Memilih paket yang sebelumnya tidak dipilih libjson-perl.Bersiap untuk membongkar .../01-libjson-perl_4.02000-2_all.deb ... Membongkar libjson-perl (4.02000-2) ...Memilih paket yang sebelumnya tidak dipilih libtypes-serialiser-perl.Bersiap untuk membongkar .../02-libtypes-serialiser-perl_1.0-1_all.deb ...Membongkar libtypes-serialiser- perl (1.0-1) ...Memilih paket yang sebelumnya tidak dipilih libjson-xs-perl.Bersiap untuk membongkar .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Membongkar libjson-xs-perl (4.020 -1build1) ...Memilih paket yang sebelumnya tidak dipilih libpq5:amd64.P bersiap untuk membongkar .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Membongkar libpq5:amd64 (13.3-1.pgdg20.10+1) ...Memilih paket yang sebelumnya tidak dipilih pgdg-keyring .Bersiap untuk membongkar .../05-pgdg-keyring_2018.2_all.deb ...Membongkar pgdg-keyring (2018.2) ...Memilih paket yang sebelumnya tidak dipilih postgresql-client-common.Bersiap untuk membongkar .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ...Membongkar postgresql-client-common (226.pgdg20.10+1) ...Memilih paket yang sebelumnya tidak dipilih postgresql-client-12.Bersiap untuk membongkar .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Membongkar postgresql-client-12 (12.7-1.pgdg20.10+1) ...Memilih paket yang sebelumnya tidak dipilih postgresql-common. Bersiap untuk membongkar .../08-postgresql-common_226.pgdg20.10+1_all.deb ...Menambahkan 'pengalihan /usr/bin/pg_config ke /usr/bin/pg_config.libpq-dev oleh postgresql-common'Unpacking postgresql-common (226.pgdg20.10+1) ...Memilih paket yang sebelumnya tidak dipilih postgresql-12.Bersiap untuk membongkar .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Membongkar postgresql-12 (12.7-1.pgdg20.10+1) ...Memilih paket yang sebelumnya tidak dipilih sysstat.Preparing to unpack .../10-sysstat_12.4.0-1_amd64.deb ...Membongkar sysstat (12.4.0-1) ...Menyiapkan pgdg-keyring (2018.2) ...Menghapus kunci apt.postgresql.org dari tepercaya. gpg:OKMenyiapkan libpq5:amd64 (13.3-1.pgdg20.10+1) ...Menyiapkan libcommon-sense-perl (3.75-1build2) ...Menyiapkan libtypes-serialiser-perl (1.0-1) .. .Menyiapkan libjson-perl (4.02000-2) ...Menyiapkan sysstat (12.4.0-1) ...Membuat file konfigurasi /etc/default/sysstat dengan versi baruupdate-alternatives:using /usr/bin/sar. sysstat untuk menyediakan /usr/bin/sar (sar) dalam mode otomatis symlink yang dibuat /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer→ /lib/systemd/system/sysstat-collect.timer.Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer→ /lib/systemd/system/sysstat-summary.timer.Membuat symlink /etc/systemd/system/multi-user.target.wants/sys stat.service → /lib/systemd/system/sysstat.service.Menyiapkan postgresql-client-common (226.pgdg20.10+1) ...Menyiapkan libjson-xs-perl (4.020-1build1) ...Mengatur up postgresql-client-12 (12.7-1.pgdg20.10+1) ...update-alternatives:using /usr/share/postgresql/12/man/man1/psql.1.gz untuk menyediakan /usr/share/ man/man1/psql.1.gz (psql.1.gz) dalam mode otomatisMenyiapkan postgresql-common (226.pgdg20.10+1) ...Menambahkan postgres pengguna ke grup ssl-certMembuat file konfigurasi /etc/postgresql- common/createcluster.conf dengan versi baruMembangun kamus PostgreSQL dari paket myspell/hunspell yang diinstal...en_usMenghapus file kamus usang:Membuat symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Menyiapkan postgresql-12 (12.7-1.pgdg20.10+1) ...Membuat klaster PostgreSQL baru 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5File milik sistem database ini akan dimiliki oleh pengguna "postgres".Pengguna ini juga harus memiliki proses server.Kluster basis data akan diinisialisasi dengan lokal "en_US.UTF-8".Pengkodean basis data default telah disetel ke "UTF8".Konfigurasi pencarian teks default akan menjadi set ke "bahasa Inggris". Checksum halaman data dinonaktifkan. Memperbaiki izin pada direktori yang ada /var/lib/postgresql/12/main ... okmembuat subdirektori ... okselecting dynamic shared memory implementation ... posixselecting default max_connections ... 100selecting default shared_buffers ... 128MBmemilih zona waktu default ... America/New_Yorkmembuat file konfigurasi ... okrunning bootstrap script ... okmelakukan inisialisasi post-bootstrap ... oksyncing data ke disk ... okSuccess. Anda sekarang dapat memulai server database menggunakan:pg_ctlcluster 12 main startVer Cluster Status Port Pemilik Direktori data File log12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- alternatif:menggunakan /usr/share/postgresql/12/man/man1/postmaster.1.gz untuk menyediakan /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) dalam mode otomatis Memproses pemicu untuk systemd ( 246.6-1ubuntu1) ...Memproses pemicu untuk man-db (2.9.3-2) ...Memproses pemicu untuk libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~#Langkah 5:Periksa status layanan PostgreSQL
systemctl status postgresql.service
Contoh Keluaran:
root@PostgreSQL:~# systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded:dimuat (/lib/systemd/system/postgresql.service; diaktifkan; vendor p> Aktif:aktif (keluar) sejak Minggu 2021- 05-16 09:17:56 EDT; 1 menit 56 detik yang laluPID Utama:10932 (kode=keluar, status=0/SUCCESS)Tugas:0 (batas:4648)Memori:0BCGroup:/system.slice/postgresql.service16 Mei 09:17:56 PostgreSQL systemd[1]:Memulai PostgreSQL RDBMS...16 Mei 09:17:56 PostgreSQL systemd[1]:Selesai PostgreSQL RDBMS.root@PostgreSQL:~#Langkah 6:Hubungkan PostgreSQL
sudo su - postgresLangkah 7:Setel ulang kata sandi PostgreSQL
Disarankan untuk mengatur ulang kata sandi menjadi kata sandi yang kuat
psql -c "ubah postgres pengguna dengan kata sandi 'StrongAdminP@ssw0rd'"Contoh Keluaran:
root@PostgreSQL:~# sudo su - postgrespostgres@PostgreSQL:~$ postgres@PostgreSQL:~$ psql -c "ubah postgres pengguna dengan kata sandi 'StrongAdminP@ssw0rd'"ALTER ROLEpostgres@PostgreSQL:~$Langkah 8:Buat Database PostgreSQL
$ psql$ BUAT DATABASE firsttestdb;$ BUAT PENGGUNA testuser1 DENGAN PASSWORD TERENKRIPSI 'MyDBP@ss0rd';$ HIBAH SEMUA HAK ISTIMEWA PADA DATABASE firsttestdb ke testuser1;
Mencantumkan database PostgreSQL :
$\l
Cara Menghubungkan ke database PostgreSQL:
\c firsttestdbContoh Keluaran:
postgres=# \c firsttestdbAnda sekarang terhubung ke database "firsttestdb" sebagai pengguna "postgres".firsttestdb=#Sekarang, kita akan melihat cara mengizinkan koneksi jarak jauh ke PostgreSQL DB.
Langkah 9:Izinkan koneksi jarak jauh ke Database PostgreSQL
sudo nano /etc/postgresql/12/main/postgresql.confBatalkan komentar pada baris “listen_addresses =‘*’ “
Simpan file dan mulai ulang layanan PostgreSQL
sudo systemctl restart postgresqlLangkah 10:Periksa alamat Mendengarkan
netstat -tunelp | grep 5432Contoh Keluaran:
root@PostgreSQL:~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 135 253939 13850/postgres tcp6 0 0 :::5432 :::* LISTEN 135 253940 13850/postgres root@PostgreSQL:~#Di akhir artikel, kita telah melihat cara Menginstal PostgreSQL 12 di Ubuntu 20.04/18.04/16.04.