Cara Membuat Daftar Database dan Tabel di PostgreSQL, Dalam hal mengelola database Postgres, ada berbagai macam alat pihak ketiga yang tersedia seperti SQL Workbench/J atau pgAdmin III. Namun, Postgres sendiri dibundel dengan alat baris perintah yang kuat yang disebut psqlyang sangat bagus untuk mereka yang akrab dengan terminal atau mencari tugas administrasi skrip.

Menurut pgsql.com Salah satu tugas paling umum yang dilakukan administrator database adalah membiasakan diri dengan lingkungan. Ini melibatkan mengajukan pertanyaan seperti “Basis data mana yang berada di server ini?” atau “Tabel apa yang disimpan dalam database tertentu di server ini?”. Dalam tutorial ini, kita akan belajar bagaimana menjawab pertanyaan kunci ini dari baris perintah menggunakan psql.
Meta-Commands
Selain dapat mengirimkan kueri SQL mentah ke server melalui psqlAnda juga dapat memanfaatkan psqlperintah meta untuk mendapatkan informasi dari server. Meta-perintah adalah perintah yang dievaluasi oleh psqldan sering diterjemahkan ke dalam SQL yang dikeluarkan terhadap tabel sistem di server, menghemat waktu administrator saat melakukan tugas rutin. Mereka dilambangkan dengan garis miring terbalik dan kemudian diikuti oleh perintah dan argumennya. Kita akan melihat beberapa contoh di bawah ini.
Daftar Database
Satu proses server Postgres dapat mengelola beberapa database secara bersamaan. Setiap database disimpan sebagai kumpulan file yang terpisah di direktorinya sendiri di dalam direktori data server. Untuk melihat semua database yang ditentukan di server, Anda dapat menggunakan \listmeta-command atau pintasannya \l.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
sales | ubuntu | 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)
Berpindah Database
Sebagian besar server Postgres memiliki tiga database yang ditentukan secara default: template0, template1dan postgres. template0dan template1merupakan basis data kerangka yang atau dapat digunakan oleh CREATE DATABASEperintah. postgresadalah database default yang akan Anda sambungkan sebelum Anda membuat database lain. Setelah Anda membuat database lain, Anda ingin beralih ke database tersebut untuk membuat tabel dan menyisipkan data. Seringkali, ketika bekerja dengan server yang mengelola banyak basis data, Anda akan sering menemukan kebutuhan untuk berpindah antar basis data. Ini dapat dilakukan dengan \connectmeta-command atau pintasannya \c.
postgres=# \c sales
You are now connected to database "sales" as user "ubuntu".
sales=#
Baca Juga : Perkembangan PostgreSQL Selama 15 Tahun
Daftar Tabel
Setelah Anda terhubung ke database, Anda akan ingin memeriksa tabel mana yang telah dibuat di sana. Ini dapat dilakukan dengan perintah \dtmeta. Namun, jika tidak ada tabel, Anda tidak akan mendapatkan output.
sales=# \dt
No relations found.
sales=#
Setelah membuat tabel, itu akan dikembalikan dalam daftar tabel dari tabel yang dibuat.
sales=# CREATE TABLE leads (id INTEGER PRIMARY KEY, name VARCHAR);
CREATE TABLE
sales=# \dt
List of relations
Schema | Name | Type | Owner
--------+-------+-------+--------
public | leads | table | ubuntu
(1 row)
sales=#
Batasi akses pengguna PostgreSQL menggunakan skema dan tampilan
Untuk membatasi akses PostgreSQL ke tabel dan kolom tertentu, Anda dapat menggunakan skema dan pernyataan GRANT selektif.
Namun, jika Anda perlu membatasi akses ke kolom tertentu, Anda mungkin perlu menggunakan kombinasi skema dan tampilan untuk membatasi akses. Anda juga dapat melakukan ini jika database Anda memiliki lebih dari 1000 tabel dan Anda mencoba untuk terhubung ke Chartio.
- Hubungkan ke database PostgreSQL Anda menggunakan psql atau pgadmin. Jalankan yang berikut ini untuk mengembalikan daftar tabel di database Anda.
sudo -u postgres psql c nama database;
- Buat skema khusus untuk pengguna hanya baca Chartio, jalankan yang berikut ini:
BUAT SKEMA chartio_read_only; BUAT PERAN chartio_schema_user LOGIN PASSWORD ‘secure_password’; GRANT CONNECT PADA DATABASE databasename TO chartio_schema_user; HIBAH PENGGUNAAN PADA SKEMA chartio_read_only KE chartio_schema_user;
- Lihatlah relasi database menggunakan perintah d.
D
Skema | Nama | Ketik | Pemilik ———-+————————-+———-+————– publik | Akun | meja | postgres publik | Pengunjung | meja | postgres publik | Pengguna | meja | postgres publik | Langganan | meja | postgres
- Tabel Akun Anda memiliki informasi sensitif di dalamnya, dan Anda ingin Chartio mengakses hanya kolom Account_ID dan Date__Created ._ Jalankan perintah berikut untuk menambahkan tampilan ke skema chartio_read_only dan memberikan akses ke tampilan tersebut ke chartio_schema_user.
CREATE VIEW chartio_read_only.”Akun” SEBAGAI PILIH ID_Akun, Tanggal_Dibuat DARI Akun; HIBAH PILIH PADA chartio_read_only.”Akun” KE chartio_schema_user;
- Berikan izin untuk memilih semua data dari tabel Pengunjung.
CREATE VIEW chartio_read_only.”Pengunjung” SEBAGAI PILIH * DARI Pengunjung; HIBAH PILIH PADA chartio_read_only.”Pengunjung” KE chartio_schema_user;
Sekarang jika Anda menghubungkan chartio_schema_user ke database Anda, itu hanya akan dapat mengakses dua tampilan terbatas yang telah Anda berikan ke skema.