Cara Menginstal dan Menggunakan PostgreSQL di Ubuntu 20.04

Cara Menginstal dan Menggunakan PostgreSQL di Ubuntu 20.04, Sistem manajemen basis data relasional adalah komponen kunci dari banyak situs web dan aplikasi. Mereka menyediakan cara terstruktur untuk menyimpan, mengatur, dan mengakses informasi.

PGSQL , atau Postgres, adalah sistem manajemen basis data relasional yang menyediakan implementasi bahasa kueri SQL . Ini sesuai standar dan memiliki banyak fitur canggih seperti transaksi andal dan konkurensi tanpa kunci baca.

Panduan ini menunjukkan cara menginstal Postgres di server Ubuntu 20.04. Ini juga menyediakan beberapa instruksi untuk administrasi database umum.

Prasyarat

Untuk mengikuti tutorial ini, Anda memerlukan satu server Ubuntu 20.04 yang telah dikonfigurasi dengan mengikuti panduan Pengaturan Server Awal untuk Ubuntu 20.04 kami . Setelah menyelesaikan tutorial prasyarat ini, server Anda harus memiliki pengguna non- root dengan izin sudo dan firewall dasar.

Langkah 1 — Menginstal PostgreSQL

Repositori default Ubuntu berisi paket Postgres, sehingga Anda dapat menginstalnya menggunakan aptsistem pengemasan.

Jika Anda belum melakukannya baru-baru ini, segarkan indeks paket lokal server Anda:

  • sudo apt update

Kemudian, instal paket Postgres bersama dengan -contribpaket yang menambahkan beberapa utilitas dan fungsionalitas tambahan:

  • sudo apt install postgresql postgresql-contrib

Sekarang setelah perangkat lunak terinstal, kita dapat membahas cara kerjanya dan perbedaannya dari sistem manajemen basis data relasional lain yang mungkin pernah Anda gunakan.

Langkah 2 — Menggunakan Peran dan Basis Data PostgreSQL

Secara default, Postgres menggunakan konsep yang disebut “peran” untuk menangani otentikasi dan otorisasi. Ini, dalam beberapa hal, mirip dengan akun gaya Unix biasa, tetapi Postgres tidak membedakan antara pengguna dan grup dan lebih memilih istilah “peran” yang lebih fleksibel.

Setelah instalasi, Postgres diatur untuk menggunakan otentikasi rekan , yang berarti bahwa Postgres mengaitkan peran Postgres dengan akun sistem Unix/Linux yang cocok. Jika ada peran dalam Postgres, nama pengguna Unix/Linux dengan nama yang sama dapat masuk sebagai peran tersebut.

Prosedur instalasi membuat akun pengguna yang disebut postgres yang dikaitkan dengan peran default Postgres. Untuk menggunakan Postgres, Anda dapat masuk ke akun itu.

Ada beberapa cara untuk memanfaatkan akun ini untuk mengakses Postgres.

Beralih ke Akun postgres

Beralih ke akun postgres di server Anda dengan mengetik:

  • sudo -i -u postgres

Anda sekarang dapat mengakses prompt PostgreSQL segera dengan mengetik:

  • psql

Dari sana Anda bebas berinteraksi dengan sistem manajemen basis data jika diperlukan.

Keluar dari prompt PostgreSQL dengan mengetik:

  • \q

Ini akan membawa Anda kembali ke postgresprompt perintah Linux.

Mengakses Prompt Postgres Tanpa Berpindah Akun

Anda juga dapat menjalankan perintah yang Anda inginkan dengan akun postgres secara langsung dengan sudo.

Misalnya, dalam contoh terakhir, Anda diperintahkan untuk membuka prompt Postgres dengan terlebih dahulu beralih ke pengguna postgres dan kemudian berlari psqluntuk membuka prompt Postgres. Anda dapat melakukan ini dalam satu langkah dengan menjalankan satu perintah psqlsebagai pengguna postgres dengan sudo, seperti ini:

  • sudo -u postgres psql

Ini akan memasukkan Anda langsung ke Postgres tanpa bashshell perantara di antaranya.

Sekali lagi, Anda dapat keluar dari sesi Postgres interaktif dengan mengetik:

  • \q

Banyak kasus penggunaan membutuhkan lebih dari satu peran Postgres. Baca terus untuk mempelajari cara mengonfigurasi ini.

Baca Juga : Dasar – Dasar Tentang Penyeleksi, Syntax Pada jQuery

Langkah 3 — Membuat Peran Baru

Saat ini, Anda hanya memiliki peran postgres yang dikonfigurasi dalam database. Anda dapat membuat peran baru dari baris perintah dengan createroleperintah. The --interactivebendera akan meminta Anda untuk nama peran baru dan juga bertanya apakah itu harus memiliki izin superuser.

Jika Anda masuk sebagai akun postgres , Anda dapat membuat pengguna baru dengan mengetik:

  • createuser –interactive

Sebaliknya, jika Anda lebih suka menggunakan sudountuk setiap perintah tanpa beralih dari akun normal Anda, ketik:

  • sudo -u postgres createuser –interactive

Script akan meminta Anda dengan beberapa pilihan dan, berdasarkan tanggapan Anda, jalankan perintah Postgres yang benar untuk membuat pengguna sesuai spesifikasi Anda.

Output
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y

Anda bisa mendapatkan lebih banyak kontrol dengan melewatkan beberapa tanda tambahan. Lihat opsi dengan melihat manhalaman:

  • man createuser

Instalasi Postgres Anda sekarang memiliki pengguna baru, tetapi Anda belum menambahkan database apa pun. Bagian selanjutnya menjelaskan proses ini.

Langkah 4 — Membuat Database Baru

Asumsi lain yang dibuat oleh sistem otentikasi Postgres secara default adalah bahwa untuk peran apa pun yang digunakan untuk masuk, peran itu akan memiliki database dengan nama yang sama yang dapat diaksesnya.

Ini berarti bahwa jika pengguna yang Anda buat di bagian terakhir disebut sammy , peran itu akan mencoba untuk terhubung ke database yang juga disebut “sammy” secara default. Anda dapat membuat database yang sesuai dengan createdbperintah.

Jika Anda masuk sebagai akun postgres , Anda akan mengetik sesuatu seperti:

  • createdb sammy

Jika, sebaliknya, Anda lebih suka menggunakan sudountuk setiap perintah tanpa beralih dari akun normal Anda, Anda akan mengetik:

  • sudo -u postgres createdb sammy

Fleksibilitas ini menyediakan banyak jalur untuk membuat database sesuai kebutuhan.

Langkah 5 — Membuka Prompt Postgres dengan Peran Baru

Untuk masuk dengan otentikasi rekan, Anda memerlukan pengguna Linux dengan nama yang sama dengan peran dan database Postgres Anda.

Jika Anda tidak memiliki pengguna Linux yang cocok, Anda dapat membuatnya dengan adduserperintah. Anda harus melakukan ini dari akun non- root Anda dengan sudohak istimewa (artinya, tidak masuk sebagai pengguna postgres ):

  • sudo adduser sammy

Setelah akun baru ini tersedia, Anda dapat beralih dan terhubung ke database dengan mengetik:

  • sudo -i -u sammy
  • psql

Atau, Anda dapat melakukan ini sebaris:

  • sudo -u sammy psql

Perintah ini akan memasukkan Anda secara otomatis, dengan asumsi bahwa semua komponen telah dikonfigurasi dengan benar.

Jika Anda ingin pengguna Anda terhubung ke database yang berbeda, Anda dapat melakukannya dengan menentukan database seperti ini:

  • psql -d postgres

Setelah masuk, Anda dapat memeriksa informasi koneksi Anda saat ini dengan mengetik:

  • \conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Ini berguna jika Anda terhubung ke database non-default atau dengan pengguna non-default.

Langkah 6 — Membuat dan Menghapus Tabel

Sekarang setelah Anda mengetahui cara menghubungkan ke sistem database PostgreSQL, Anda dapat mempelajari beberapa tugas manajemen Postgres dasar.

Sintaks dasar untuk membuat tabel adalah sebagai berikut:

CREATE TABLE table_name (
    column_name1 col_type (field_length) column_constraints,
    column_name2 col_type (field_length),
    column_name3 col_type (field_length)
);

Seperti yang Anda lihat, perintah ini memberi nama pada tabel, lalu menentukan kolom serta tipe kolom dan panjang maksimum data bidang. Anda juga dapat secara opsional menambahkan batasan tabel untuk setiap kolom.

Anda dapat mempelajari lebih lanjut tentang cara membuat dan mengelola tabel di Postgres di sini.

Untuk tujuan demonstrasi, buat tabel berikut:

  • CREATE TABLE playground (
  • equip_id serial PRIMARY KEY,
  • type varchar (50) NOT NULL,
  • color varchar (25) NOT NULL,
  • location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)),
  • install_date date
  • );

Perintah ini akan membuat tabel yang menginventarisasi peralatan bermain. Kolom pertama dalam tabel akan menyimpan nomor ID peralatan dari serialjenis tersebut, yang merupakan bilangan bulat yang bertambah otomatis. Kolom ini juga memiliki batasan PRIMARY KEYyang berarti bahwa nilai di dalamnya harus unik dan bukan nol.

Dua baris berikutnya membuat kolom untuk peralatan typedan colormasing – masing, keduanya tidak boleh kosong. Baris setelah ini membuat locationkolom serta batasan yang mengharuskan nilai menjadi salah satu dari delapan nilai yang mungkin. Baris terakhir membuat datekolom yang mencatat tanggal saat Anda memasang peralatan.

Untuk dua kolom ( equip_iddan install_date), perintah tidak menentukan panjang bidang. Alasan untuk ini adalah bahwa beberapa tipe data tidak memerlukan panjang yang ditetapkan karena panjang atau format tersirat.

Anda dapat melihat tabel baru Anda dengan mengetik:

  • sammy=#  \d
Output
                  List of relations
 Schema |          Name           |   Type   | Owner 
--------+-------------------------+----------+-------
 public | playground              | table    | sammy
 public | playground_equip_id_seq | sequence | sammy
(2 rows)

Meja taman bermain Anda ada di sini, tetapi ada juga sesuatu yang disebut playground_equip_id_seqbertipe sequence. Ini adalah representasi dari serialtipe yang Anda berikan pada equip_idkolom Anda . Ini melacak nomor berikutnya dalam urutan dan dibuat secara otomatis untuk kolom jenis ini.

Jika Anda hanya ingin melihat tabel tanpa urutan, Anda dapat mengetik:

  • \dt
Output
          List of relations
 Schema |    Name    | Type  | Owner 
--------+------------+-------+-------
 public | playground | table | sammy
(1 row)

Dengan tabel yang sudah siap, mari kita gunakan untuk berlatih mengelola data.

Langkah 7 — Menambahkan, Membuat Kueri, dan Menghapus Data dalam Tabel

Sekarang setelah Anda memiliki tabel, Anda dapat memasukkan beberapa data ke dalamnya. Sebagai contoh, tambahkan slide dan ayunan dengan memanggil tabel yang ingin Anda tambahkan, beri nama kolom, lalu berikan data untuk setiap kolom, seperti ini:

  • INSERT INTO playground (type, color, location, install_date) VALUES (‘slide’, ‘blue’, ‘south’, ‘2017-04-28’);
  • INSERT INTO playground (type, color, location, install_date) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-08-16’);

Anda harus berhati-hati saat memasukkan data untuk menghindari beberapa gangguan umum. Pertama, jangan bungkus nama kolom dalam tanda kutip, tetapi nilai kolom yang Anda masukkan memang membutuhkan tanda kutip.

Hal lain yang perlu diingat adalah Anda tidak memasukkan nilai untuk equip_idkolom. Ini karena ini dibuat secara otomatis setiap kali Anda menambahkan baris baru ke tabel.

Ambil informasi yang telah Anda tambahkan dengan mengetik:

  • SELECT * FROM playground;
Output
 equip_id | type  | color  | location  | install_date 
----------+-------+--------+-----------+--------------
        1 | slide | blue   | south     | 2017-04-28
        2 | swing | yellow | northwest | 2018-08-16
(2 rows)

Di sini, Anda dapat melihat bahwa Anda equip_idtelah berhasil diisi dan bahwa semua data Anda yang lain telah diatur dengan benar.

Jika slide di taman bermain rusak dan Anda harus menghapusnya, Anda juga dapat menghapus baris dari tabel dengan mengetik:

  • DELETE FROM playground WHERE type = ‘slide’;

Kueri tabel lagi:

  • SELECT * FROM playground;
Output
 equip_id | type  | color  | location  | install_date 
----------+-------+--------+-----------+--------------
        2 | swing | yellow | northwest | 2018-08-16
(1 row)

Perhatikan bahwa slidebaris tidak lagi menjadi bagian dari tabel.

Langkah 8 — Menambah dan Menghapus Kolom dari Tabel

Setelah membuat tabel, Anda dapat memodifikasinya dengan menambahkan atau menghapus kolom. Tambahkan kolom untuk menunjukkan kunjungan pemeliharaan terakhir untuk setiap peralatan dengan mengetik:

  • ALTER TABLE playground ADD last_maint date;

Jika Anda melihat informasi tabel Anda lagi, Anda akan melihat kolom baru telah ditambahkan tetapi tidak ada data yang dimasukkan:

  • SELECT * FROM playground;
Output
 equip_id | type  | color  | location  | install_date | last_maint 
----------+-------+--------+-----------+--------------+------------
        2 | swing | yellow | northwest | 2018-08-16   | 
(1 row)

Jika Anda menemukan bahwa kru kerja Anda menggunakan alat terpisah untuk melacak riwayat pemeliharaan, Anda dapat menghapus kolom dengan mengetik:

  • ALTER TABLE playground DROP last_maint;

Ini menghapus last_maintkolom dan nilai apa pun yang ditemukan di dalamnya, tetapi membiarkan semua data lainnya tetap utuh.

Langkah 9 — Memperbarui Data dalam Tabel

Sejauh ini, Anda telah mempelajari cara menambahkan record ke tabel dan cara menghapusnya, tetapi tutorial ini belum membahas cara memodifikasi entri yang ada.

Anda dapat memperbarui nilai entri yang ada dengan membuat kueri untuk rekaman yang Anda inginkan dan mengatur kolom ke nilai yang ingin Anda gunakan. Anda dapat meminta swingcatatan (ini akan cocok dengan setiap ayunan di meja Anda) dan mengubah warnanya menjadi red. Ini bisa berguna jika Anda memberi swing set pekerjaan cat:

  • UPDATE playground SET color = ‘red’ WHERE type = ‘swing’;

Anda dapat memverifikasi bahwa operasi berhasil dengan menanyakan data lagi:

  • SELECT * FROM playground;
Output
 equip_id | type  | color | location  | install_date 
----------+-------+-------+-----------+--------------
        2 | swing | red   | northwest | 2018-08-16
(1 row)

Seperti yang Anda lihat, slide sekarang terdaftar sebagai merah.

Kesimpulan

Anda sekarang sudah siap dengan PostgreSQL di server Ubuntu 20.04 Anda. Jika Anda ingin mempelajari lebih lanjut tentang Postgres dan cara menggunakannya, kami manyarankan Anda untuk membaca panduan berikut: