Bagaimana Cara Menginstal PostgreSQL di Ubuntu, CentOS dan Windows?

Diterbitkan: 2021-06-08

PostgreSQL adalah salah satu sistem database relasional objek sumber terbuka yang populer, lintas platform, yang kuat, berkinerja tinggi, dan andal dengan komunitas yang kuat.

Tanggal kembali ke 1986 sebagai bagian dari proyek POSTGRES di University of California, Berkeley, dan membawa 30 tahun pengembangan aktif pada platform intinya. Performanya yang konsisten selama bertahun-tahun telah membuktikan integritas, arsitektur, dan ekstensibilitasnya untuk penggunaan perusahaan. Ini sesuai dengan ACID dan menawarkan dukungan untuk add-on yang kuat seperti ekstensi basis data geospasial PostGIS yang populer.

Kami akan membahas instalasi PostgreSQL pada platform umum dalam artikel ini.

Jadi mari kita mulai.

Ubuntu

PostgreSQL tersedia untuk semua rasa dan versi Ubuntu. Anda memiliki pilihan untuk menginstal dan menggunakan versi yang tersedia secara default dengan versi Ubuntu Anda dan didukung untuk masa pakainya atau menggunakan versi tertentu dengan menambahkan repositori PostgreSQL dan menginstal yang sama. Kami akan membahas kedua opsi di sini.

Untuk menggunakan versi default yang didukung yang disediakan oleh repositori Ubuntu, jalankan:

 $ sudo apt-get update $ sudo apt-get -y install postgresql

PostgreSQL Apt Repository mendukung versi LTS Ubuntu saat ini, yaitu 20.04 , 18.04 dan 16.04 . Meskipun mungkin tidak sepenuhnya didukung, paket yang sama juga berfungsi pada versi non-LTS dengan menggunakan versi LTS terdekat.

Untuk menggunakan repositori apt PostgreSQL , ikuti langkah-langkah berikut:

 $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql

Untuk menginstal versi tertentu dari repositori PostgreSQL, alih-alih hanya postgresql yang merujuk ke versi terbaru, tentukan seperti postgresql-12 :

 $ sudo apt-get -y install postgresql-12

Repositori juga berisi paket yang berbeda, termasuk add-on pihak ketiga. Misalnya, paket yang umum tersedia untuk PostgreSQL versi 12 meliputi:

postgresql-client-12 perpustakaan klien dan binari klien
postgresql-12 server basis data inti
postgresql-contrib-9.x modul tambahan yang disediakan (bagian dari paket postgresql-xx di versi 10 dan yang lebih baru)
libpq-dev library dan header untuk pengembangan frontend bahasa C
postgresql-server-dev-12 perpustakaan dan header untuk pengembangan backend bahasa C
pgadmin4 pgAdmin 4 utilitas administrasi grafis

Setelah instalasi selesai, Anda dapat memeriksa status layanan DB dengan menggunakan perintah di bawah ini:

 $ sudo systemctl status postgresql.service

Untuk Ubuntu, pasca-instalasi, layanan harus diaktifkan dan dijalankan seperti:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2021-06-06 16:06:45 UTC; 46s ago Main PID: 3364 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1113) Memory: 0B CGroup: /system.slice/postgresql.service Jun 06 16:06:45 ubuntu20cloud systemd[1]: Starting PostgreSQL RDBMS... Jun 06 16:06:45 ubuntu20cloud systemd[1]: Finished PostgreSQL RDBMS. $

CentOS

Seperti Ubuntu, repositori RHEL/CentOS juga berisi versi PostgreSQL tertentu, yang didukung sepanjang masa untuk OS. Anda dapat menginstal yang sama menggunakan:

 $ sudo yum install -y postgresql-server

atau Anda dapat menggunakan DNF jika menggunakan CentOS 8.

 $ sudo dnf install -y postgresql-server

Jalankan perintah di bawah ini setelah instalasi untuk menginisialisasi DB, mengaktifkan layanan PostgreSQL, dan memulainya:

 $ sudo postgresql-setup initdb $ sudo systemctl enable postgresql.service $ sudo systemctl start postgresql.service

Atau untuk menggunakan paket langsung dari repositori yum PostgreSQL , kita harus menambahkan repositori sebagai:

 $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Dan kemudian untuk menginstal versi PostgreSQL tertentu seperti versi 13, yang merupakan rilis stabil terbaru pada saat penulisan artikel ini, gunakan:

 $ sudo yum install -y postgresql13-server

repositori yum juga berisi paket tambahan untuk PostgreSQL, di antaranya beberapa yang penting tercantum di bawah ini:

klien postgresql perpustakaan dan binari klien
postgresql-server server basis data inti
postgresql-contrib modul tambahan yang disediakan
postgresql-devel perpustakaan dan header untuk pengembangan bahasa C

Jalankan langkah-langkah di bawah ini setelah penginstalan untuk menginisialisasi DB, mengaktifkan layanan PostgreSQL, dan memulainya:

 $ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13

Anda dapat memeriksa status layanan DB dengan menggunakan perintah di bawah ini:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2021-06-06 16:39:35 GMT; 1min 12s ago Process: 7011 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS) Process: 7005 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─7014 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432 ├─7015 postgres: logger process ├─7017 postgres: checkpointer process ├─7018 postgres: writer process ├─7019 postgres: wal writer process ├─7020 postgres: autovacuum launcher process └─7021 postgres: stats collector process Jun 06 16:39:34 centos7cloud systemd[1]: Starting PostgreSQL database server... Jun 06 16:39:35 centos7cloud systemd[1]: Started PostgreSQL database server. $

jendela

Pemasang Windows 32-bit dan 64-bit tersedia dari situs resmi PostgreSQL di sini.

  • Anda dapat mengunduh biner yang berlaku berdasarkan versi dan arsitektur yang diperlukan.

unduhan postgresql

  • Kami akan mengunduh versi terbaru yang tersedia, yaitu v13.3 untuk platform Windows 64-bit. Setelah unduhan selesai, luncurkan penginstal dengan mengklik dua kali di atasnya.

postgresql-install-launch

  • Klik Berikutnya untuk melanjutkan.

postgresql-instal-lokasi

  • Klik Berikutnya untuk melanjutkan dengan jalur default atau menentukan jalur penginstalan kustom Anda.

  • Anda dapat tetap memilih komponen default dan klik Next untuk melanjutkan.

postgresql-install-datadir

  • Selanjutnya, ia meminta lokasi direktori data; ini dapat disimpan sebagai default kecuali Anda memiliki disk atau direktori khusus yang ditetapkan untuk itu. Klik Berikutnya untuk melanjutkan.

postgresql-install-password

  • Tentukan kata sandi yang kuat yang akan diberikan kepada pengguna postgres . Klik Berikutnya setelah selesai.

port-instal-postgresql

  • Port default 5432 seharusnya bagus untuk sebagian besar kasus. Klik Berikutnya untuk pergi ke halaman berikutnya.

postgresql-install-locale

  • Pilih lokal untuk DB dan klik Next untuk melanjutkan.

postgresql-instal-konfirmasi

  • Semua pengaturan yang dipilih untuk wizard penginstalan akan dicantumkan untuk Anda tinjau dan konfirmasi. Jika ada yang perlu diubah, kembali dan ubah yang sama atau klik Berikutnya untuk melanjutkan ke halaman berikutnya.

postgresql-install-konfirmasi-1

  • Setup akan menunjukkan bahwa itu siap untuk melanjutkan instalasi. Jika sudah siap, klik Next untuk memulai instalasi.

postgresql-install-progress

  • Tunggu hingga penginstalan selesai. Konfirmasi akan ditampilkan untuk hal yang sama.

postgresql-instal-selesai

  • Setelah selesai, Anda dapat menghapus centang Stack Builder dan klik Finish untuk keluar dari wizard penginstalan. Klik Start Menu dan cari SQL Shell (psql) dan klik ikonnya untuk membuka shell psql .

psql-start-menu

  • SQL Shell (psql) terbuka di mana Anda dapat berinteraksi dengan instance PostgreSQL Anda setelah menentukan detail koneksi. Semua item dapat dipilih sebagai default hanya dengan menekan Enter kecuali kata sandi, di mana Anda perlu memasukkan kata sandi yang ditentukan untuk pengguna postgres selama wizard instalasi. Ini akan membawa Anda ke postgres=# Prompt.

psql-sql-shell-windows

Hubungkan ke PostgreSQL

Pengguna postgres dibuat secara otomatis setelah penginstalan, yang memiliki akses superadmin ke instans DB. Di Linux, sebagai pengguna istimewa, Anda dapat beralih ke akun ini sebagai:

 $ sudo su - postgres

Setelah masuk, kita dapat mengatur ulang kata sandi pengguna postgres sebagai:

 $ psql -c "alter user postgres with password '[email protected]'"

Dan kemudian luncurkan PostgreSQL Prompt dengan psql sebagai:

 $ psql

Ini akan membawa Anda ke dalam Prompt PostgreSQL:

 $ psql psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)) Type "help" for help. postgres=#

Pada prompt ini, Anda dapat berinteraksi dengan database dan melakukan tugas admin atau pengguna DB. Sebagai demo, langkah-langkah di bawah ini membuat DB dan pengguna, lalu memberikan hak istimewa kepada pengguna baru untuk bekerja pada database baru:

 postgres=# CREATE DATABASE geekflaredb; CREATE DATABASE postgres=# CREATE USER geekuser WITH ENCRYPTED PASSWORD '[email protected]'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE geekflaredb to geekuser; GRANT postgres=#

Kami kemudian dapat membuat daftar DB menggunakan perintah \l :

 postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- geekflaredb | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | geekuser=CTc/postgres postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) postgres=#

Sekarang Anda cukup terhubung ke DB menggunakan:

 postgres=# \c geekflaredb You are now connected to database "geekflaredb" as user "postgres". geekflaredb=#

Ringkasan

PostgreSQL adalah salah satu database yang diadopsi secara luas di dunia perusahaan karena kekokohan, set fitur, dan skalabilitasnya. Mudah dipelajari dan mencoba agar kompatibel dengan standar SQL.

Ada tutorial yang tersedia untuk PostgreSQL di situs resminya.