Python dan PostgreSQL: Cara Mengakses Database PostgreSQL Seperti Ilmuwan Data

Python dan PostgreSQL: Cara Mengakses Database PostgreSQL Seperti Ilmuwan Data – Ada beberapa paket Python yang tersedia yang berinteraksi dengan database SQL. Selama beberapa minggu terakhir saya menggunakan modul psycopg2 untuk berinteraksi dengan sistem manajemen database PostgreSQL.

Python dan PostgreSQL: Cara Mengakses Database PostgreSQL Seperti Ilmuwan Data

pgsql – Anda dapat menggunakan pustaka Python pada data yang diperoleh dari kueri SQL. Pustaka Pandas, misalnya, memiliki metode asli yang memungkinkan kita menampilkan dan memanipulasi hasil kueri langsung dari database SQL. Pada artikel ini saya akan merinci proses pengaturan psycopg2 dan membangun fungsi kueri dengan alat-alat ini.

Baca Juga : Bagaimana Cara Memulai Data Spasial di PostgreSQL

Bagian 1: Cara Mengatur Psycopg2

Prasyarat : Sebelum Anda mencoba untuk menginstal adaptor Python Anda harus menginstal Postgres , yang saya rinci dalam posting sebelumnya. Psycopg adalah adaptor PostgreSQL untuk bahasa pemrograman Python. Alat ini memungkinkan kita untuk menghubungkan kemampuan bahasa Python dan perpustakaan untuk mendapatkan, memanipulasi, memasukkan, dan memperbarui data yang disimpan dalam database PostgreSQL. Pada saat penulisan ini, versi saat ini adalah psycopg2. Ketika saya awalnya mencari paket ini, saya diarahkan ke situs PyPI proyek . Saya secara alami memutuskan untuk menggunakan sistem manajemen paket pip default untuk instalasi, namun banyak dependensi Psycopg tidak disertakan. Menurut dokumentasi , “Psycopg adalah pembungkus C di sekitar libpqPustaka klien PostgreSQL.” Di bawah tajuk ini, dependensi disertakan. Saya awalnya mencoba menginstal dependensi ini dan mengalami kesulitan yang sama dengan yang dikeluhkan oleh pengguna di StackOverflow dan GitHub proyek.

Untungnya saya menemukan jawaban yang menyarankan proses instalasi Homebrew . Meskipun saya telah menginstal Aplikasi Postgres, direktori yang berisi satu atau lebih dependensi psycopg2 hilang. Di terminal saya menjalankan perintah brew install postgresqluntuk menginstal implementasi Homebrew dari PostgreSQL dan kemudian perintah pip install psycopg2untuk menginstal ulang adaptor Python. Setelah dua langkah ini selesai, saya berhasil menggunakan Psycopg.

Bagian 2: Hubungkan ke Database PostgreSQL

Ada beberapa cara untuk terhubung ke database PostgreSQL, tiga metode menghubungkan langsung melalui PostgresApp/terminal/baris perintah, menghubungkan dalam satu skrip atau file Python (yaitu Notebook Jupyter), dan menghubungkan dengan mengimpor parameter yang diperlukan dari inisialisasi atau file konfigurasi. Opsi ketiga adalah yang terbaik ketika Anda ingin menyembunyikan kredensial login Anda dengan .gitignorefile.

Anda memerlukan beberapa parameter untuk terhubung ke database apa pun. Beberapa parameter umum adalah host, port, username, dan password. Database PostgreSQL dapat disimpan di komputer Anda (diakses dengan localhost sebagai nilai parameter host ) atau dari jarak jauh (diakses dengan alamat IP server sebagai nilai parameter host ). Anda juga memerlukan nomor port , yang menentukan proses yang berjalan di server tempat permintaan komputer klien harus dikirim. Port default PostgreSQL adalah 5432, meskipun ini dapat diubah. Anda mungkin juga memerlukan nama pengguna dan kata sandi jika ada izin keamanan; ini biasa terjadi di tempat kerja sehingga pengguna tidak mengakses, atau memperbarui, informasi yang tidak berhak mereka dapatkan.

(1) Terhubung Langsung dengan PostgresApp/Terminal/Command Line

PostgresApp memungkinkan Anda untuk langsung terhubung ke database yang disimpan baik secara lokal maupun jarak jauh dengan memanfaatkan menu Create New Server yang dapat diakses dengan simbol plus ( + ) yang terletak di sudut kiri bawah jendela. Anda juga dapat mengklik database yang tersedia untuk memulai shell PostgreSQL di dalam jendela terminal baru, tombol inisialisasi atau mulai harus sudah diaktifkan.

Anda juga dapat mengakses server melalui baris perintah atau terminal. Jika Anda membuka jendela terminal baru (di luar shell PostgreSQL jika Aplikasi sedang berjalan), Anda dapat mengetikkan perintah untuk memulai PostgreSQL diikuti dengan parameter untuk database. Untuk memulai PostgreSQL, Anda mengetik /Applications/Postgres.app/Contents/Versions/12/bin/psqlatau psqljika Anda telah menyiapkan pintasan. Di baris yang sama Anda dapat mengetikkan parameter tambahan seperti Host -h localhost(di mana localhost dapat diganti dengan alamat IP server), port -p 5432, username -U username, database name -d database_name, dan password jika perlu -W password(Anda dapat mengabaikan ini atau mengetik versi huruf kecil -wuntuk menunjukkan bahwa tidak ada kata sandi).

(2) Menghubungkan Langsung Dalam Satu File

Ketika keamanan tidak menjadi masalah, Anda dapat berlatih menghubungkan ke database lokal baik dalam satu skrip Python atau Notebook Jupyter. Pertama Anda mengimpor perpustakaan psycopg2 , kemudian Anda menggunakan metode .connect() untuk meneruskan parameter yang relevan. Terakhir Anda membuat objek kursor untuk menjalankan perintah PostgreSQL ke database.

(3) Menghubungkan Dengan File Konfigurasi dan Inisialisasi

Dalam lingkungan profesional, server memiliki banyak perlindungan termasuk nama pengguna dan kata sandi individual untuk setiap karyawan. Setiap akun pengguna akan memiliki izin khusus yang akan menentukan informasi apa yang dapat mereka akses dan perbarui. Jika Anda menghosting informasi ini di GitHub untuk tujuan kolaborasi, Anda harus merahasiakan kredensial login Anda dengan menyimpannya di file terpisah. Di sinilah .inifile berperan. Saya akan mengikuti tutorial PostgreSQLTutorial.com untuk metode ini.