Solusi Data Managemen Oleh POstgreSQL – Data management dari manapun menjadi salah satu sumber yang cukup penting. Bagi perusahaan yang cukup besar manageman data merupakan bagian terpenting bagi perusahaan. Tanpa adanya managemen yang jelas maka perkembangan perusahaan tidak akan bisa menjadi sebuah perusahaan yang valid dan bonafid. Oleh karenanya, pengelolaan database memiliki peranan yang paling penting dan berharga untuk sebuah perusahaan. Tanpa menagemen yang baik untuk pengelolaan database bukan tidak mungkin perusahaan akan menjadi kebingungan untuk mengatur database yang dimilikinya. Pengaturan sebuah database yang baik memang seharusnya dilakukan dengan menggunakan sebuah aplikasi program khusus yang membantu untuk mengelola serta mengatur database yang dimiliki.
Permasalahan database memang tidak mudah untuk diselesaikan. postgreSQL merupakan salah satu program khusus untuk database yang dibuat khusus untuk menyelesaikan masalah database. Penciptaannya memang dilakukan dengan baik. Tujuannya adalah untuk menjamin bahwa perkembangan perusahaan akan lebih baik dengan menggunakan pengelolaan database yang terencana. Tanpa adanya pengelolaan database yang terencana memang perusahaan akan kesulitan untuk melakukan pengembangan. Terutama bagi perusahaan yang bergerak dengan berbasis teknologi. Tanpa adanya pengelolaan database yang sempurna tentu akan kesulitan untuk mengetahui apakah data yang dimiliki adalah data yang valid. Kehandalan dalam proses pengelolaan database menjadi salah satu yang paling penting untuk sebuah perusahaan. Apabila tidak mampu mengelola data dengan baik maka proses pengembangan perusahaan tidak akan berjalan dengan sempurna.
Sebuah solusi dari postgreSQL yang senantiasa dilakukan penilaian dan inspeksi untuk menjaga kualitas pengelolaan data yang dilakukan oleh program. Mampu menjaga kualitaas dan mampu beroperasi pada sistem operasional komputer manapun tentu saja membuat postgreSQL bertransformasi menjadi sebuah program pengelolaan database yang menjadi solusi terbaik untuk mengelola database dengan baik. Proses pengelolaan database yang memang dilakukan dengan sistem operasi komputer baik itu window, linux dan lainnya memang menjadi salah satu parameter bagi para penggunanya untuk sekedar melakukan pengelolaan database dengan lebih baik lagi. Meskipun memang tidak semua perusahaan memutuskan untuk mengelola database yang dimiliki menggunakan program yang tepat.

Fitur-fitur yang melengkapi sekaligus fitur yang memudahkan inilah yang menjadi sebuah jawaban yang pasti untuk alasan terbaik bagi para pengguna memilih postgreSQL sebagai jalan keluar untuk memilih sekaligus menata ulang data yang dimiliki. Kemampuan untuk mereplikasi basis data menjadi sebuah alasan mengapa postgreSQL menjadi yang terbaik untuk menyimpan data agar lebih aman dan juga lebih teratur. Sehingga tidak heran jika program khusus ini senantiasa dipilih dan dinobatkan sebagai salah satu program untuk solusi managemen data terbaik sepanjang tahun. Tentu saja ini berlaku untuk semua jenis usaha produk judi online yang dikembangkan oleh perusahaan resmi Indonesia, baik itu dalam jangka panjang maupun pendek.
Mengapa Google Cloud Berjuang Melawan AWS, Azure, Di Pasar PostgreSQL Yang Sedang Panas
Mengapa Google Cloud Berjuang Melawan AWS, Azure, Di Pasar PostgreSQL Yang Sedang Panas – Dengan semakin banyak perusahaan yang mengalihkan data mereka dari database lama ke database open-source di cloud, Google Cloud Platform (GCP) menawarkan database-as-a-service (DBaaS) yang kompatibel dengan PostgreSQL, yang dijuluki AlloyDB, sekarang dalam pratinjau publik dan dimaksudkan untuk mengambil alih Amazon Aurora dan Database Microsoft Azure untuk PostgreSQL.
Mengapa Google Cloud Berjuang Melawan AWS, Azure, Di Pasar PostgreSQL Yang Sedang Panas
pgsql – Pada tahun 2022, 75% dari semua database akan digunakan atau dimigrasikan ke platform cloud, dengan hanya 5% yang pernah dipertimbangkan untuk dipulangkan ke sistem lokal, menurut Gartner. Tren ini didorong oleh langkah perusahaan untuk menggunakan database untuk analitik, kata Gartner. Selain itu, Gartner mengatakan, lebih dari 50% database lama sedang dalam transisi ke open-source dan lebih dari 70% pengembangan aplikasi baru terjadi pada database open-source. Sementara itu, banyak perusahaan memilih PostgreSQL untuk sistem manajemen database mereka.
Mengapa perusahaan mengambil PostgreSQL?
Google Cloud, AWS, dan Microsoft telah mengalihkan fokus mereka ke PostgreSQL karena popularitasnya yang meningkat di antara database lain, kata para analis. “Postgres tidak dapat disangkal di tengah kebangkitan minat dan penggunaan. Ini sebagian besar karena ini adalah database open source dengan banyak penyedia potensial, dan karena merupakan database serbaguna yang semakin disesuaikan untuk semua jenis beban kerja, ” kata Stephen O’Grady, analis utama di RedMonk.
Selain itu, kata Tony Baer, prinsipal dan pendiri dbInsight, ada juga ekosistem besar basis data berbasis PostgreSQL yang memanfaatkan teknologi inti dan basis keterampilan yang tidak mungkin diabaikan, memposisikannya sebagai basis data sumber terbuka standar kelas perusahaan. Analis lain percaya bahwa meskipun PostgreSQL belum menyalip popularitas MySQL, dari Oracle, ia memiliki kelebihan.
Baca Juga : Memvisualisasikan Hacker News API Dengan HCL Dan SQL
“Ketika membandingkan MySQL dan PostgreSQL, organisasi lebih memilih kemampuan transaksional dan analitis PostgreSQL, dukungan yang diperluas untuk data spasial, dukungan SQL yang lebih luas, keamanan dan tata kelola yang ditingkatkan, dan dukungan yang diperluas untuk bahasa pemrograman, mendorong pertumbuhan yang lebih substansial,” kata Noel Yuhanna, analis utama di Forrester.
Menurut data dari platform pengetahuan basis data relasional db-engines.com, PostgreSQL terus meningkat popularitasnya dan saat ini merupakan RDBMS (sistem manajemen basis data relasional) paling populer keempat dan produk paling populer keempat yang dikutip di antara semua basis data dalam peringkat mereka. Peningkatan popularitas yang konstan telah memaksa hyperscaler untuk membuat layanan database yang dibangun di atas PostgreSQL, kata Doug Henschen, analis utama di Constellation Research.
“Dalam kebanyakan kasus, vendor cloud menuangkan sumber daya untuk menawarkan layanan migrasi yang memudahkan migrasi beban kerja ke layanan berbasis Postgre ini, dan mereka juga meningkatkan fitur kompatibilitas dengan Oracle Database pada khususnya. Ketersediaan beberapa layanan dan peningkatan dalam kompatibilitas dengan database komersial hanya mendorong lebih banyak migrasi dan peningkatan popularitas untuk PostgreSQL,” kata Henschen. Google baru-baru ini menambahkan konversi skema Oracle-ke-PostgreSQL dan kemampuan replikasi data ke Layanan Migrasi Database-nya.
Inilah perbedaan antara Google’s AlloyDB dan CloudSQL
Google mengklaim bahwa AlloyDB barunya, sebagai DBaaS yang dikelola PostgreSQL, adalah untuk “database kelas atas” berbeda dengan layanan database terkelola CloudSQL PostgreSQL yang ada, yang menurut perusahaan juga melihat traksi “baik”.
“Kami melihat bahwa ada celah tertentu yang dapat dan perlu kami isi, untuk benar-benar memastikan bahwa basis data kelas atas benar-benar dapat dipindahkan. Dan ini adalah celah di bidang skala, ketersediaan, memperluas kasus penggunaan sedikit lebih jauh. transaksional untuk juga mendukung beban kerja analitis,” kata Andi Gutmans, general manager database di Google Cloud. AlloyDB memanfaatkan kemampuan infrastruktur Google Cloud di bidang penyimpanan, komputasi, dan jaringan sambil menggabungkannya dengan kompatibilitas Postgres, kata Gutmans, menambahkan bahwa ia memiliki kinerja dan skalabilitas yang lebih cepat daripada layanan CloudSQL untuk PostgreSQL yang ada.
Lapisan penyimpanan adalah kunci untuk kinerja PostgreSQL
“Kami menemukan bahwa bahan utama adalah lapisan penyimpanan baru yang meningkatkan kinerja PostgreSQL,” kata Yuhanna dari Forrester. “Tidak seperti MySQL, yang mendukung beberapa mesin penyimpanan, PostgreSQL secara tradisional hanya mengandalkan satu mesin penyimpanan. Meskipun AlloyDB memanfaatkan lapisan penyimpanan asli-cloud, ia menawarkan kompatibilitas PostgreSQL 100%, memungkinkan aplikasi PostgreSQL yang ada untuk bermigrasi tanpa aplikasi atau database perubahan,” kata Yuhanna, seraya menambahkan bahwa ia mengharapkan untuk melihat daya tarik yang kuat untuk layanan baru ini seiring perusahaan memperluas penggunaan PostgreSQL mereka.
Google juga telah menambahkan akselerator bersama dengan AI dan kemampuan pembelajaran mesin ke DBaaS yang dikelola untuk memastikan kemudahan manajemen dengan kinerja yang lebih baik, kata Gutmans. “Kami menggunakan pembelajaran mesin dan algoritme untuk pada dasarnya menghilangkan banyak masalah pengelolaan yang dialami pelanggan di masa lalu dengan hal-hal seperti Postgres dan melakukannya untuk mereka. Ini adalah hal-hal seperti manajemen VACUUM otomatis, bagaimana kami mengonfigurasi instans untuk yang terbaik kinerja, mengkonfigurasi penyimpanan dan manajemen memori, dll,” kata Gutmans. Auto-VACUUM mengacu pada proses yang membersihkan data yang berlebihan.
AlloyDB juga dilengkapi dengan integrasi platform Vertex AI, meja kerja yang dirancang untuk ilmuwan data yang mengerjakan proyek pembelajaran mesin, dan menurut perusahaan Gutmans “benar-benar dapat melakukan inferensi waktu nyata sebagai bagian dari transaksi.” Contoh inferensi real-time seperti itu, yang disebut Gartner sebagai transaksi tambahan, adalah mengaktifkan atau memanggil modul deteksi penipuan dalam transaksi untuk entri kartu kredit untuk pengeluaran.
Faktanya, sejumlah besar layanan basis data cloud mulai memanfaatkan pembelajaran mesin untuk melakukan analisis loop tertutup yang berkelanjutan untuk penyetelan dan pengoptimalan mandiri, kata Henschen dari Constellation, menambahkan bahwa penyederhanaan pemeliharaan melalui penyetelan dan pengoptimalan mandiri adalah tidak unik.
“Tetapi dalam kasus AlloyDB, ini mengoptimalkan penyimpanan berbasis baris dan kolom secara bersamaan, sehingga dapat melayani kebutuhan transaksional dan analitis dan tidak harus disetel, atau begitulah klaim Google, untuk satu kebutuhan atau yang lain,” kata Henschen. “Kinerja ‘trans-analitis’ ini juga mendukung integrasi dengan Vertex AI. Manfaatnya adalah kinerja tinggi dalam skenario seperti pinjaman, risiko, analisis churn, dan sebagainya di mana Anda mencoba berbisnis dengan pelanggan secara real-time. sekaligus mendukung analisis mendalam yang didukung ilmu data.”
Kompatibel dengan Postgres v. PostgreSQL
AlloyDB baru Google Cloud untuk PostgreSQL adalah layanan yang kompatibel dengan Postgres, yang berbeda dari layanan database PostgreSQL seperti CloudSQL GCP. Itu dibangun untuk menjadi berbeda (lebih cepat, lebih mudah dikelola, andal, dan terukur) daripada RDMS PostgreSQL standar sambil mengambil dasar-dasar dasar dan semantik darinya, kata para analis. “Ada banyak database yang kompatibel dengan PostgreSQL yang bukan PostgreSQL, tetapi mereka menggunakan semua semantik SQL dari database tersebut untuk memanfaatkan popularitas dan keakraban cara Anda memprogram/meminta PostgreSQL,” kata Henschen.
Ini juga berarti bahwa pengembang dapat membangun atau memindahkan aplikasi yang dibangun di atas PostgreSQL ke database ini. Layanan baru, yang diklaim perusahaan “100% kompatibel dengan Postgres,” mendukung lebih dari 50 ekstensi dari ekosistem Postgres, kata Gutmans Google.
Harga dan persaingan di pasar PostgreSQL
Google mengklaim bahwa DBaaS terkelola baru menawarkan kinerja harga yang lebih baik daripada pesaing karena telah mengubah strategi penetapan harga untuk mengecualikan biaya input/output yang berat yang harus ditanggung sebagian besar perusahaan untuk layanan database terkelola. Perusahaan akan dikenakan biaya untuk komputasi, penyimpanan, dan layanan lain yang mereka konsumsi, kata Gutmans, menambahkan bahwa ini akan memudahkan perusahaan untuk menganggarkan pengeluaran mereka. Namun, layanan AlloyDB untuk PostgreSQL akan menghadapi persaingan berat dari Amazon Aurora, Oracle Autonomous Databases, dan Oracle mySQL HeatWave, baik dari sudut pandang kecepatan/biaya, maupun untuk OLAP (pemrosesan analitik online) dan OLTP (pemrosesan transaksi online). .
“Saya tidak melihat Aurora menangani persyaratan analitis seluas AlloyDB, meskipun ia terintegrasi dengan SageMaker untuk mendukung jenis skenario inferensi waktu nyata yang sama,” kata Henschen. “Sementara itu, Oracle terkenal karena mempromosikan Oracle Database sebagai ‘database universal’ yang dapat melakukan semuanya, tetapi perlu dicatat bahwa ia memiliki layanan Oracle Autonomous Database terpisah yang disesuaikan untuk penggunaan transaksional atau gudang data/analitis,” kata Henschen. , dengan catatan bahwa belum ada penerapan AlloyDB di dunia nyata. Langkah Google untuk meluncurkan DBaaS terkelola baru dapat dilihat sebagai strategi untuk menjangkau pasar sebanyak mungkin, kata Grady dari RedMonk.
“Seperti halnya AWS menawarkan vanilla, Postgres standar, dan alternatif berpemilik yang kompatibel dengan Postgres di Aurora, Google tampaknya melayani kedua pasar yang menghargai standar database open source dan mereka yang bersedia mengorbankan semua basis open source sebagai imbalannya. untuk database berkinerja lebih tinggi yang kompatibel dengan Postgres,” kata Grady. Amazon Aurora mendukung database MySQL dan PostgreSQL. Google belum mengatakan kapan AlloyDB akan tersedia secara umum.
Memvisualisasikan Hacker News API Dengan HCL Dan SQL
Memvisualisasikan Hacker News API Dengan HCL Dan SQL – Di episode terakhir kami melihat dasbor Steampipe yang menggabungkan hasil pencarian di berbagai API. Dasbor metasearch itu sepenuhnya didefinisikan dalam kode yang memadukan dua bahasa: SQL untuk mengkueri API, dan HCL (HashiCorp Configuration Language) untuk mengalirkan hasil ke tabel dasbor.
Memvisualisasikan Hacker News API Dengan HCL Dan SQL

pgsql – Pendekatan dasbor sebagai kode ini bersandar pada filosofi infrastruktur sebagai kode. Kami percaya bahwa dasbor adalah jenis infrastruktur lain yang harus ditentukan dalam perangkat lunak, dikelola dalam repositori yang dikontrol versi, dan digunakan dari repo.
Dalam episode ini kita akan melihat dasbor yang mengeksplorasi item yang diposting ke Hacker News. Ini menggambarkan beberapa cara di mana Steampipe dapat berpartisipasi dalam alur kerja yang ditentukan perangkat lunak. Visualisasi mencakup lebih dari 15.000 cerita sejak 21 Juni. Itu jauh lebih banyak sejarah daripada yang dapat Anda nikmati dengan mudah dari Hacker News API dalam satu tegukan. Lalu dari mana data historisnya? Ada di repo!
Sejarah
Setiap jam, GitHub Action memeriksa repo, menjalankan Steampipe, menanyakan item baru, mengekspornya ke file CSV, mengkomit file itu, dan mendorong ke asal. Jadi ketika Anda mengkloning atau memperbarui repo Anda mendapatkan data baru. Dengan Steampipe dan plugin CSV terpasang, inilah cara Anda melihat dasbor.
cd ~/steampipe-samples/all/hackernews
./update.sh
steampipe dashboard
Dan kemudian kunjungi https://localhost:9194. Ulangi ./update.sh kapan saja untuk menarik dan memasukkan data terkini. GitHub Action, dijadwalkan untuk berjalan setiap jam, melakukan hal berikut.
- Cek reponya
- Instal Steampipe di pelari GitHub
- Instal plugin Berita Peretas
- Kueri cerita terbaru dan kirim hasilnya ke file CSV
- Komit file CSV baru dan dorong perubahan
Saya terlambat ke pesta GitHub Actions tetapi saya ada di sana sekarang. Ini adalah cara yang bagus untuk mengumpulkan snapshot kecil dengan tahan lama!
Baca Juga : Mengenal Fitur Baru dari Postgresql 14
Bagi mereka yang menjaga skor, ada tiga contoh Steampipe dalam alur kerja ini:
- mengambil snapshot dalam GitHub Action menggunakan plugin Hacker News.
- membuat tabel di database Steampipe lokal Anda, menggunakan plugin CSV.
- meluncurkan server dasbor lokal yang terhubung dengan browser Anda.
HCL + SQL
Panel Sumber menawarkan daftar pilihan domain, dan menemukan cerita yang URL-nya cocok dengan domain yang dipilih. Berikut adalah kueri SQL yang membaca semua URL dan mengekstrak domainnya. Bagian tersulit adalah ekspresi reguler, tetapi itu berlaku untuk regex di semua bahasa. SQL itu sendiri sederhana dan mudah dimengerti.
with domains as (
select distinct
substring(url from ‘http[s]*://([^/$]+)’) as domain
from
hn_items_all
)
select
domain as label,
domain as value
from
domains
order by
domain
HCL yang membuat daftar pilihan juga sederhana dan mudah dimengerti.
input “domain” {
width = 3
sql = <<EOQ
— as above
EOQ
}
Itulah polanya di mana-mana: SQL untuk mendapatkan data, pembungkus HCL tipis untuk mengalirkan hasil ke dalam widget. Kedua jenis kode ini, yang bersama-sama mendefinisikan dasbor, lahir dalam repo, berkembang di sana, dan disebarkan dari sana. Dalam sistem low-or-no-code, semua informasi yang sama berada di penyimpanan data yang dikelola oleh aplikasi. Anda mungkin (saya pernah melakukannya) harus mengekspor info itu untuk merekam evolusi sistem dalam repo. Lebih baik selalu ada.
Inti dari sistem low-or-no-code, tentu saja, untuk membungkus kode dalam alat yang membuka kreativitas orang yang tidak membuat kode. Belum ada alat seperti itu untuk kombo HCL + SQL ini, tetapi mungkin ada. Sistem yang didefinisikan dalam kode secara inheren ramah terhadap alat yang membaca dan menulis kode itu. Repo Berita Peretas, misalnya, menyertakan contoh aneh yang menganimasikan bagan dengan mengedit file dasbor secara terprogram dan mengubah nilai HCL tertentu.
Meskipun saya tidak menggunakan parser untuk contoh itu, tentu saja ada parser HCL dan SQL yang merender kode sebagai data. Dalam episode sebelumnya kami menunjukkan bagaimana plugin Steampipe lain mengubah file Terraform menjadi tabel Steampipe, sehingga memungkinkan pemeriksa kepatuhan yang memvalidasi definisi Terraform. Saat Anda membuat dan mengembangkan dasbor, tidakkah Anda ingin memvalidasinya dengan cara yang sama? Arsitektur as-code menjamin bahwa itu mungkin. Yang mengatakan, pengkodean dasbor Steampipe dalam HCL + SQL murni mudah, menyenangkan, dan sangat produktif. Berikut adalah dua hal favorit saya yang membuatnya begitu.
Pengeditan langsung
Saat Anda mengedit kode dasbor di editor yang menyimpan otomatis, dasbor langsung bereaksi. Ini adalah semacam antarmuka manipulasi langsung: “suatu pendekatan ke antarmuka yang melibatkan representasi berkelanjutan dari objek yang menarik bersama dengan tindakan dan umpan balik yang cepat, dapat dibalik, dan inkremental.” (Wikipedia)
Bret Victor adalah juara besar dari pendekatan ini. Dalam segmen Inventing on Principle ini dia mengatasi masalah yang ditangani oleh manipulasi langsung. Saya punya kode ini, dan saya punya gambar ini di sini, dan saya harus menjaga pemetaan antara keduanya di kepala saya.
Semakin lama waktu yang dibutuhkan untuk melihat hasil perubahan kode, semakin sulit untuk mempertahankan pemetaan itu. Umpan balik langsung sangat berharga, dan terlalu sering tidak tersedia. Kami menerima begitu saja ketika mengkodekan web awal, tetapi sekarang sering kali ada langkah pembuatan yang menggagalkan manipulasi langsung. Saat mengkode dasbor Steampipe, Anda mendapatkan umpan balik langsung dari HCL dan SQL. Saya telah menulis banyak pertanyaan Postgres dalam beberapa tahun terakhir. Menuliskannya di lingkungan yang menyegarkan hasil kueri saat saya mengetik, atau menampilkan pesan kesalahan Postgres saat saya membuat kesalahan, telah transformatif.
Sensibilitas web
Pengkodean dasbor Steampipe mengingatkan saya pada web awal dengan cara lain juga. Tautan, misalnya, adalah warga kelas satu dasbor Steampipe, dan itu tidak selalu benar saat ini. Panel Kiriman menautkan nama pengguna ke dasbor lain yang menjelajahi semua kiriman dari pengguna yang dipilih. Semuanya berfungsi seperti yang diharapkan oleh pengembang web. Ada juga tombol Lihat Sumber. Ingat Lihat Sumber? Dulu penting di web. Saat ini biasanya hanya menampilkan noise garis yang diperkecil. Tetapi kombo HCL + SQL mengingatkan saya pada kombo HTML + JS awal dengan cara yang baik! Berikut intip sumber di balik salah satu panel dasbor.
Seiring dengan umpan balik langsung, observabilitas semacam ini membantu web awal lepas landas. Anda akan melihat sesuatu, bertanya-tanya bagaimana hal itu dilakukan, melihat sumbernya, mempelajarinya, dan menirunya. Pembangun web pemula tidak dapat lagi berpartisipasi dalam siklus baik semacam itu. Pembangun dasbor Steampipe pemula dapat melakukannya, dan itu menjadi pertanda baik bagi ekosistem yang berkembang.
Visualisasikan data dengan kecepatan berpikir
Karena Steampipe memperluas Postgres, Anda dapat menggunakan alat apa pun untuk membuat dasbor yang didukung oleh data Steampipe. Jika Anda mahir dengan Metabase, Tableau, atau alat lain yang terhubung ke Postgres, kekuatan super API-to-database-table Steampipe akan mempercepat kemampuan Anda untuk memvisualisasikan data dari berbagai sumber di lingkungan tersebut. Tetapi jika Anda mencoba membuat dashboard dengan cara Steampipe, beri tahu saya bagaimana kelanjutannya. Dalam pengalaman saya sendiri, ini adalah cara tercepat dan paling menyenangkan untuk mengubah ide menjadi dasbor yang berguna.
Bosan Mencari Slack, GitHub, Dan Google Drive Secara Terpisah? Lakukan Semuanya Sekaligus Di SQL
Bosan Mencari Slack, GitHub, Dan Google Drive Secara Terpisah? Lakukan Semuanya Sekaligus Di SQL – Anda tahu latihannya: Kata-kata yang Anda cari mungkin ada di Slack, atau GitHub, atau Google Drive, atau Google Spreadsheet, atau Zendesk, atau … daftarnya terus berlanjut. Mencari di seluruh silo ini adalah frustrasi umum. Seharusnya tanpa gesekan, dan dasbor Steampipe ini membuatnya demikian.
Bosan Mencari Slack, GitHub, Dan Google Drive Secara Terpisah? Lakukan Semuanya Sekaligus Di SQL

pgsql – Ini bukan rodeo pertama saya. Saya memulai perjalanan ini pada tahun 1996 dan telah meninjau kembali gagasan itu secara berkala. Pada tahun 2018 saya menulis tentang versi yang merupakan contoh klasik dari Hal Paling Sederhana yang Mungkin Berfungsi: halaman web yang mengumpulkan URL pencarian untuk berbagai layanan dan mengunjungi masing-masing di tabnya sendiri. Kedengarannya konyol, itu cukup membantu untuk membiasakan diri sedikit, dan bukan hanya oleh saya.
Tentu saja saya ingin menggunakan API yang mendasarinya, menormalkan hasilnya, dan menggabungkannya ke dalam tampilan umum. Tetapi upaya yang diperlukan untuk memperdebatkan semua API membuat proyek itu lebih bermasalah daripada nilainya. Jika Anda telah melakukan hal semacam ini sebelum Anda tahu bahwa sebagian besar layanan menyediakan API pencarian bersama dengan adaptor untuk bahasa pemrograman pilihan Anda. Tetapi setiap layanan akan memiliki caranya sendiri untuk memanggil API, memberi paginasi hasil, dan memformatnya. Perbedaan tersebut menciptakan gesekan yang perlu Anda atasi agar dapat bekerja dengan hasil secara konsisten.
Baca Juga : Mengenal Fitur Baru dari Postgresql 14
Namun, ketika perdebatan API menjadi tanpa gesekan, banyak hal menjadi mungkin. Metasearch yang efektif adalah salah satunya. Steampipe membuat Anda keluar dari bisnis memanggil API, membuat paginasi hasil, dan membongkar objek JSON. Ini memanggil API untuk Anda dan mengalirkan hasilnya ke tabel database sehingga Anda dapat fokus sepenuhnya untuk bekerja dengan data. Itu memecahkan masalah terbesar yang Anda hadapi saat membangun dasbor metasearch.
Konvergen pada skema
Tantangan berikutnya adalah untuk mengikat hasil pencarian ke skema umum. SQL adalah lingkungan yang bagus untuk melakukan itu. Kueri yang menggerakkan dasbor yang ditampilkan di screencast mencakup tiga bait yang Anda tidak perlu menjadi wizard SQL untuk menulis. Mereka semua mengikuti pola yang sama seperti ini untuk mencari masalah GitHub.
select
‘github_issue’ as type,
repository_full_name || ‘ ‘ || title as source,
to_char(created_at, ‘YYYY-MM-DD’) as date,
html_url as link,
substring(body from 1 for 200) || ‘…’ as content
from
github_search_issue
where
$1 ~ ‘github_issue’
and query = ‘in:body in:comments org:github ‘ || $2
limit $3
Item berwarna biru adalah nama kolom dalam tabel database dalam hal ini github_search_issue, salah satu tabel yang dibuat oleh plugin GitHub Steampipe. Hub Steampipe memudahkan untuk memeriksa nama dan deskripsi kolom dalam tabel, dan menunjukkan kepada Anda contoh cara menggunakan informasi dalam tabel.
Karena mengambil data tidak memerlukan memanggil API dan membongkar JSON, Anda dapat fokus pada sintaks pencarian tingkat tinggi, yang banyak untuk dipikirkan, bersama dengan tantangan yang menarik (dan menyenangkan!) untuk memetakan kolom sumber ke skema umum. Item berwarna merah adalah nama kolom yang muncul di dasbor. Untuk dasbor ini, kami telah memutuskan bahwa setiap hasil penelusuran akan dipetakan ke lima kolom ini: jenis, sumber, tanggal, tautan, dan konten. Klausa AS SQL memudahkan setiap bait untuk mengganti nama kolomnya agar sesuai dengan skema.
Kueri lengkap
Inilah kueri lengkap yang mendorong dasbor. Ada tiga bait seperti di atas, masing-masing ditulis sebagai CTE (common table expression) dengan parameter yang sesuai dengan variabel input. Dan hampir tidak ada yang lain! Setiap bait menanyakan tabel berbasis API (slack_search, github_search_issue, googleworkspace_drive_my_file), memilih (dan mungkin mengubah) kolom, lalu membuat alias hasilnya agar sesuai dengan skema. Yang tersisa hanyalah UNION tiga CTE, yang bertindak seperti tabel sementara, dan mengurutkan hasilnya.
with slack as (
select
‘slack’ as type,
user_name || ‘ in #’ || (channel ->> ‘name’)::text as source,
to_char(timestamp, ‘YYYY-MM-DD’) as date,
permalink as link,
substring(text from 1 for 200) as content
from
slack_search
where
$1 ~ ‘slack’
and query = ‘in:#steampipe after:${local.config.slack_date} ‘ || $2
limit $3
),
github_issue as (
select
‘github_issue’ as type,
repository_full_name || ‘ ‘ || title as source,
to_char(created_at, ‘YYYY-MM-DD’) as date,
html_url as link,
substring(body from 1 for 200) || ‘…’ as content
from
github_search_issue
where
$1 ~ ‘github_issue’
and query = ‘ in:body in:comments org:${local.config.github_org} ‘ || $2
limit $3
),
gdrive as (
select
‘gdrive’ as type,
replace(mime_type,’application/vnd.google-apps.’,”) as source,
to_char(created_time, ‘YYYY-MM-DD’) as date,
‘https://docs.google.com/document/d/’ || id as link,
name as content
from
googleworkspace_drive_my_file
where
$1 ~ ‘gdrive’
and query = ‘fullText contains ‘ || ”” || $2 || ””
limit $3
)
select * from slack
union
select * from github_issue
union
select * from gdrive
order by
date desc
Dasbor sebagai kode
Banyak sistem dasbor dapat bekerja dengan kueri ini. Anda dapat, misalnya, menghubungkan Metabase, atau Tableau, atau klien Postgres lainnya ke Steampipe dan membangun jenis dasbor interaktif yang sama seperti yang ditunjukkan di sini. Anda akan melakukannya bekerja di lingkungan kode rendah di mana widget dan pengaturan ditangani di antarmuka pengguna. Subsistem dasbor Steampipe mengambil pendekatan berbeda yang diinformasikan oleh akar infrastruktur-sebagai-kode (IaC). Kueri terhadap API harus dinyatakan dalam kode SQL yang dikelola, seperti semua kode lainnya, dalam repositori yang dikontrol versi. Widget dasbor yang menampilkan hasil kueri tersebut juga harus diekspresikan dalam kode, dan dalam hal ini bahasanya adalah HCL Terraform.
Inilah definisi HCL dari dasbor metasearch. Ini mendeklarasikan tiga jenis blok input: sources (pilihan ganda), search_term (teks), dan max_per_source (pilihan tunggal, yang merupakan default). Anda dapat melakukan lebih banyak hal dengan blok input—terutama, Anda dapat mengisinya dengan hasil dari kueri SQL, seperti yang ditunjukkan dalam dokumentasi. Itu tidak diperlukan di sini.
Blok tabel menggunakan kueri yang ditentukan di atas, dan mendefinisikan parameter yang diteruskan ke sana. Argumen bungkus memastikan bahwa kolom dengan banyak teks akan dapat dibaca.
dashboard “metasearch” {
input “sources” {
title = “sources”
type = “multiselect”
width = 2
option “slack” {}
option “github_issue” {}
option “gdrive” {}
}
input “search_term” {
type = “text”
width = 2
title = “search term”
}
input “max_per_source” {
title = “max per source”
width = 2
option “2” {}
option “5” {}
option “10” {}
option “20” {}
}
table {
title = “search slack + github + gdrive”
query = query.metasearch
args = [
self.input.sources,
self.input.search_term,
self.input.max_per_source
]
column “source” {
wrap = “all”
}
column “link” {
wrap = “all”
}
column “content” {
wrap = “all”
}
}
}
Sekali lagi tidak banyak yang bisa dilihat di sini, juga seharusnya tidak ada. Membangun dasbor sebagai kode seharusnya tidak memerlukan banyak kode yang rumit, dan memang tidak demikian.
Tidak ada sihir yang diperlukan
Sama seperti Anda tidak perlu menjadi wizard SQL untuk membuat subqueries baru, Anda juga tidak perlu menjadi wizard HCL untuk menambahkannya ke dasbor. Apakah Anda ingin menambahkan sumber? Ada lusinan plugin lain untuk dipilih, dengan lebih banyak yang ditambahkan setiap bulan. Mereka tidak semua menawarkan pencarian tetapi banyak yang melakukannya, dan mudah untuk menemukannya dengan (tentu saja!) kueri Steampipe.
select
name
html_url
from
github_search_code
where
query = ‘search org:turbot org:francois2metz org:ellisvalentiner org:theapsgroup’
and name ~ ‘table’
and name ~ ‘search’
order by
name
Dalam repo sampel steampipe kami telah menyertakan kode untuk dasbor yang ditampilkan di sini, bersama dengan bait pencarian tambahan untuk Zendesk yang kami hapus saat akun uji coba kami kedaluwarsa. Bersenang-senang memperluas dasbor ini!
Fitur Terbaik Di PostgreSQL 14
Fitur Terbaik Di PostgreSQL 14 – Menurut StackOverflow, PostgreSQL adalah database open source paling populer, dengan semakin banyak pengembang dan administrator yang ingin bekerja dengannya. PostgreSQL 14, versi terbaru yang dirilis pada September 2021, memiliki lebih dari 200 peningkatan dan fitur baru, yang secara umum terbagi dalam tiga area: Keamanan, Performa, dan Pemantauan.
Fitur Terbaik Di PostgreSQL 14

pgsql – Mulai dari versi 1.9.2, yang dirilis awal tahun ini, ClusterControl kini mendukung PostgreSQL 14 versi terbaru. Dalam posting ini, kita akan melihat fitur yang paling menonjol, pembaruan besar, dan peningkatan yang tersedia di PostgreSQL 14.
Keamanan
Perubahan keamanan paling signifikan PostgreSQL 14 adalah pindah ke SCRAM sebagai otentikasi default setelah otentikasi SCRAM SHA 256 pertama kali diperkenalkan di PostgreSQL 10. SCRAM menyediakan solusi yang jauh lebih sederhana dan kuat untuk mengatur kepatuhan terhadap keamanan data. Otentikasi MD5 default sebelumnya memiliki beberapa kelemahan yang dieksploitasi di masa lalu.
Baca Juga : Siapa Saja Yang Menggunakan PostgreSQL?
Di samping autentikasi yang ditingkatkan, PostgreSQL 14 menyederhanakan proses penetapan kemampuan write only dan read only kepada pengguna pada tabel, tampilan, dan skema dengan memperkenalkan dua peran yang telah ditentukan sebelumnya, pg_write_all_data, dan pg_read_all_data. Peran sebelumnya membuatnya nyaman untuk membuat hak istimewa bergaya pengguna super. Meskipun nyaman untuk aktivitas dan akses, akun semacam ini harus digunakan dengan hemat. Peran terakhir membuatnya berguna dalam memberikan akses read only bagi pengguna ke semua tabel, skema, dan tampilan dalam database. Peran ini akan memiliki akses baca secara default ke tabel yang baru dibuat.
Performa
Perusahaan memproses semakin banyak data, dan kecepatan, volume, & variasi (tiga V Big Data) tidak menunjukkan tanda tanda melambat. PostgreSQL 14 telah membuat beberapa perubahan yang sangat signifikan untuk dapat ditingkatkan dan ditingkatkan untuk mendukung beban kerja ini dan meningkatkan kinerja. Ini dapat dikelompokkan ke dalam lima bidang berikut:
Skalabilitas
PostgreSQL 14 memberikan pencapaian besar dalam kinerja penghapusan dan pembaruan pada tabel dengan jumlah partisi yang tinggi. Ini memungkinkan penghapusan dan pembaruan pada tabel yang dipartisi untuk menggunakan pemangkasan partisi waktu eksekusi. Yang terpenting, versi ini dapat menskalakan ke lebih banyak partisi daripada sebelumnya, memungkinkan PostgreSQL untuk menangani database yang jauh lebih besar daripada sebelumnya.
Di PostgreSQL versi 14, partisi sekarang juga dapat dilepas secara bersamaan, sehingga memudahkan untuk mengelola tabel data deret waktu yang besar. Ini dimungkinkan karena fungsi date_bin() baru, yang memungkinkan pengguna untuk meringkas data deret waktu ke dalam rentang tanggal dengan lebih baik dan lebih mudah.
PostgreSQL 14 menambahkan dukungan untuk kompresi LZ4 untuk TOAST. LZ4 menggunakan teknologi kompresi terbaru dan berfokus pada peningkatan kecepatan dekompresi dan kompresi data dokumen. LZ4 akan menyempurnakan aplikasi dengan dokumen XML dan JSON yang lebih besar, dan algoritme kompresi ini dapat dikonfigurasi pada tingkat sistem dan kolom.
Database Dan Beban Kerja Terdistribusi
PostgreSQL 14 juga menawarkan peningkatan dalam penskalaan basis data secara horizontal dengan memperkenalkan dua peningkatan utama dalam postgres_fdw (pembungkus data asing) yang berperan penting dalam meningkatkan kinerja untuk basis data terdistribusi. Perubahan ini mendukung penyisipan data secara massal dan pemindaian tabel paralel pada tabel asing (bila async_capable diatur).
Caching koneksi juga meningkatkan kinerja dengan memungkinkan koneksi terbuka di seluruh transaksi. Kami juga dapat menyebutkan mode pipa Libpd, yang meningkatkan kinerja database terdistribusi dengan memungkinkan aliran perubahan ditransmisikan tanpa menunggu konfirmasi jaringan pada setiap perintah.
Kemampuan Kelola
PostgreSQL 14 juga membahas masalah pengasapan indeks B tree; indeks yang sering diperbarui mengasapi dari waktu ke waktu karena tupel mati yang dapat dihapus dengan menjalankan ruang hampa.
Karena itu, pemisahan halaman yang tidak dapat diubah dapat disebabkan oleh penyisipan atau pembaruan saat halaman terisi di antara penyedot debu. Versi ini telah meningkatkan proses vakum dengan mendeteksi dan menghapus tupel mati di antara vakum (parameter INDEX_CLEANUP disetel ke Otomatis).
Perbaikan lain pada sistem vakum adalah menghapus halaman yang dihapus dengan penuh semangat. Di versi sebelumnya, menghapus halaman yang dihapus membutuhkan dua siklus vakum, dengan terlebih dahulu menandai halaman sebagai dihapus dan siklus kedua benar benar mengosongkan ruang tersebut.
Penyesuaian Kinerja Kueri Dan Indeks
Manajemen indeks dalam penyetelan aplikasi adalah peningkatan besar lainnya dalam PostgreSQL 14. Khususnya, REINDEX CONCURRENTLY dan CREATE INDEX CONCURRENTLY, memungkinkan beberapa perintah dijalankan sekaligus tanpa mengganggu satu sama lain. Lebih lanjut tentang indeks, indeks BRIN menjadi lebih fleksibel karena dapat merekam banyak nilai min/maks per rentang, yang berharga untuk grup nilai di setiap rentang halaman. Selain itu, indeks BRIN bekerja secara efektif dengan data yang tidak terlokalisasi dengan baik di heap dengan menggunakan filter mekar.
Opsi FREEZE dalam perintah COPY telah ditingkatkan dengan memperbarui bit visibilitas halaman pada kinerja pemuatan data. COPY mode biner juga sekarang lebih cepat. PostgreSQL 14 telah menyempurnakan paralelisme kueri dengan menambahkan paralelisme kueri ke REFRESH MATERIALIZED VIEW dan RETURN QUERY. Penyempurnaan ini telah diluncurkan ke gabungan loop bersarang dan pemindaian sekuensial paralel.
PostgreSQL 14 telah meningkatkan jumlah tempat statistik yang diperluas dapat digunakan untuk ekspresi dan estimasi klausa OR. Tidak seperti sebelumnya, di mana statistik hanya pada kolom, sekarang diizinkan pada sekelompok ekspresi. Tampilan sistem pg_stats_ext_exprs melaporkan statistik tersebut.
Replikasi Logis Yang Ditingkatkan
Replikasi logis telah ditingkatkan untuk memungkinkan streaming transaksi yang sedang berlangsung lama melalui API atau ke pelanggan. Pada versi sebelumnya, transaksi yang lebih besar dari logical_decoding_work_mem ditulis ke disk sampai transaksi selesai sebelum mereplikasi transaksi ke pelanggan. Dengan penyempurnaan baru, replikasi logis menangani pernyataan DDL dalam jumlah besar dengan lebih efisien. Setelah setiap perintah, replikasi logis menulis pesan pembatalan cache ke WAL untuk diproses dengan mengalirkan transaksi yang sedang berlangsung. Proses ini menciptakan manfaat kinerja yang signifikan.
Pemantauan
Salah satu kata kunci terbesar tahun 2022 adalah pemantauan, karena administrator dan pengembang menginginkan lebih banyak wawasan tentang kinerja dari waktu ke waktu. PostgreSQL 14 telah memperkenalkan fitur baru untuk membantu pemantauan. Perubahan paling signifikan dari semuanya adalah pemindahan sistem hash kueri dari pg_stat_statement ke database inti. Pemantauan kueri telah diizinkan di beberapa sistem PostgreSQL dan fungsi logging dengan menggunakan satu ID.
Versi ini juga telah memperkenalkan parameter pemantauan baru berikut:
- Pg_stat_wal
- Pg_stat_progress_copy
- Maintenance_io_concurrency
- REINDEX pada indeks anak dari tabel yang dipartisi
- Idle_session_timeout
Upgrade Ke PostgreSQL 14
Jika Anda ingin memutakhirkan versi PostgreSQL Anda saat ini ke versi 14, Anda memiliki tiga opsi utama yang akan melakukan tugas ini:
- Pg_dumpall: Ini adalah alat pencadangan logis yang memungkinkan Anda membuang data dan memulihkannya dalam versi PostgreSQL yang baru. Di sini Anda akan memiliki periode waktu henti yang akan bervariasi sesuai dengan ukuran data Anda. Anda perlu menghentikan sistem atau menghindari data baru di node utama, menjalankan pg_dumpall, memindahkan dump yang dihasilkan ke node database baru, dan memulihkannya. Selama waktu ini, Anda tidak dapat menulis ke database PostgreSQL utama Anda untuk menghindari inkonsistensi data.
- Pg_upgrade: Ini adalah alat PostgreSQL untuk meningkatkan versi PostgreSQL Anda. Ini bisa berbahaya di lingkungan produksi, dan kami tidak merekomendasikan metode ini dalam kasus itu. Dengan menggunakan metode ini, Anda akan memiliki waktu henti, tetapi mungkin akan jauh lebih sedikit daripada menggunakan metode pg_dump sebelumnya.
- Replikasi Logis: Sejak PostgreSQL 10, Anda dapat menggunakan metode replikasi ini yang memungkinkan Anda untuk melakukan peningkatan versi utama dengan waktu henti nol (atau hampir nol). Dengan cara ini, Anda dapat menambahkan node siaga di versi PostgreSQL terakhir, dan ketika replikasi terbaru, Anda dapat melakukan proses failover untuk mempromosikan node PostgreSQL baru.
Kesimpulan
PostgreSQL 14 benar benar meningkatkan permainan bagi pengguna database open source yang populer ini. Sekarang pengembang dan administrator telah meningkatkan kemampuan untuk meningkatkan kinerja dan skalabilitas tinggi, peningkatan untuk database terdistribusi, peningkatan observabilitas, dan banyak lagi.
Siapa Saja Yang Menggunakan PostgreSQL?
Siapa Saja Yang Menggunakan PostgreSQL? – PostgreSQL telah diadopsi secara luas oleh industri dalam beberapa tahun terakhir. Beberapa perusahaan top di dunia menggunakan PostgreSQL. Ribuan perusahaan di luar sana memiliki PostgreSQL untuk aplikasi bisnis kritis dan non kritis yang tak terhitung jumlahnya.
Siapa Saja Yang Menggunakan PostgreSQL?

pgsql – PostgreSQL tidak hanya digunakan di satu industri itu cukup banyak digunakan di mana mana. Dari otomotif hingga pengelolaan air. Dari arkeologi hingga layanan cuaca. PostgreSQL ada di mana mana akhir akhir ini dan jumlah penerapannya meningkat di seluruh dunia.
Berikut adalah daftar kecil nama-nama besar yang menjalankan database PostgreSQL:
- Goldman Sachs
- Bloomberg
- PBB
- Nokia
- BMW
Daftar berikut di bawah ini menunjukkan beberapa contoh bagaimana PostgreSQL digunakan atau dapat digunakan di dunia nyata.
Kasus Penggunaan 1: Industri Keuangan
PostgreSQL sangat cocok untuk industri keuangan. PostgreSQL sepenuhnya sesuai dengan ACID dan karenanya ideal untuk beban kerja OLTP (Online Transaction Processing). Namun, PostgreSQL tidak hanya merupakan pilihan yang baik untuk kemampuan OLTP yang unggul ini juga merupakan database analitik yang sangat mumpuni dan dapat diintegrasikan dengan baik dengan perangkat lunak matematika seperti Matlab dan R. PostgreSQL dapat digunakan untuk berbagai tugas dan operasi.
Kasus Penggunaan 2: Data GIS Pemerintah
PostgreSQL tidak hanya alat untuk industri keuangan ada juga ekstensi GIS yang sangat kuat yang disebut “PostGIS” yang menyediakan ratusan fungsi untuk memproses data geometris dalam berbagai format. PostGIS sangat sesuai standar dan merupakan salah satu standar de facto di dunia Open Source GIS. Dalam kombinasi dengan QGIS atau GeoServer, komunitas Open Source menyediakan sarana yang kuat untuk menangani geodata. Kunjungi situs web di PostGIS untuk mengetahui lebih lanjut tentang layanan geodata kami.
Kasus Penggunaan 3: Manufaktur
Banyak produsen industri kelas dunia menggunakan PostgreSQL untuk mempercepat inovasi dan mendorong peningkatan pertumbuhan melalui proses yang berpusat pada pelanggan, dan mengoptimalkan kinerja rantai pasokan menggunakan PostgreSQL sebagai backend penyimpanan. PostgreSQL adalah penyimpanan data jangka panjang yang andal dan menawarkan penyimpanan yang andal dengan biaya rendah.
Baca Juga : Keamanan Database PostgreSQL: Yang Perlu Anda Ketahui
Dalam industri manufaktur, keandalan adalah segalanya. Jika situs produksi tidak berfungsi karena kegagalan, itu dapat dengan mudah menelan biaya jutaan. Oleh karena itu PostgreSQL adalah pilihan yang ideal karena dapat dikonfigurasi untuk failover otomatis, redundansi penuh, dan hampir nol downtime upgrade. PostgreSQL telah mendapatkan banyak momentum di bidang manufaktur baru baru ini karena Oracle telah mengubah kebijakan lisensinya sehingga menjadi sulit bagi banyak perusahaan untuk mempertahankan biaya lisensi yang tinggi.
Kasus Penggunaan 4: Teknologi Web Dan Beban Kerja NoSQL
Situs web modern mungkin memerlukan ribuan atau bahkan ratusan ribu permintaan per detik untuk melayani pelanggan Anda. Skalabilitas dapat menjadi masalah utama dan komunitas PostgreSQL telah bekerja keras untuk menjawab pertanyaan skalabilitas tersebut dalam beberapa tahun terakhir.
PostgreSQL bekerja dengan baik dengan semua kerangka kerja web modern termasuk namun tidak terbatas pada: Django (Python), node.js (JavaScript), Hibernate (Java), Ruby on rails, PHP, dan banyak lagi. Karena kemampuan replikasi PostgreSQL, situs web dapat dengan mudah ditingkatkan ke server database sebanyak yang Anda butuhkan. PostgreSQL bukan hanya database relasional PostgreSQL juga dapat berfungsi sebagai penyimpanan data bergaya NoSQL. Tidak perlu memilih antara dunia relasional dan berorientasi dokumen. Anda dapat memiliki keduanya dalam satu produk.
Kasus Penggunaan 5: Data ilmiah
Penelitian dan proyek ilmiah dapat menghasilkan terabyte data, yang harus ditangani dengan cara yang paling menguntungkan dan seefisien mungkin. PostgreSQL memiliki kemampuan analitis yang luar biasa dan menawarkan mesin SQL yang kuat, yang membuat pemrosesan data dalam jumlah besar menjadi sangat menyenangkan. Selain itu, PostgreSQL dapat dengan mudah diperluas. Anda dapat menulis fungsi agregasi Anda sendiri dan Anda dapat membuat logika bisnis Anda sendiri di database. Dengan mendekatkan algoritme ke data Anda, lebih banyak efisiensi yang dapat dicapai daripada dengan melakukan semua operasi pada tingkat aplikasi.
Keamanan Database PostgreSQL: Yang Perlu Anda Ketahui
Keamanan Database PostgreSQL: Yang Perlu Anda Ketahui – Ketika kita berbicara tentang keamanan basis data, itu mencakup modul yang berbeda dari area yang berbeda. Ini adalah topik yang sangat luas karena, dengan database, kita perlu mengamankan seluruh ekosistem, bukan hanya node database. Gambar di bawah menunjukkan rincian utama dari “bagian” yang perlu diamankan.
Keamanan Database PostgreSQL: Yang Perlu Anda Ketahui

pgsql – Jelas terlihat bahwa database itu sendiri hanyalah bagian 1/6 dari itu. Anda perlu mengamankan (1) Jaringan (2) Node Jaringan (3) Data (4) Basis Data (5) Pengguna dan (6) Aplikasi. Basis data yang aman berarti aman dengan segala cara.
Keamanan Basis Data PostgreSQL
Basis data biasanya dibagi menjadi Otentikasi, Otorisasi, dan Akuntansi (AAA). Sistem basis data perlu mengotentikasi pengguna, kedua, mengotorisasi apa yang dapat dilakukan pengguna dengan basis data, dan ketiga, menjelaskan apa yang dilakukan pengguna dengan basis data. PostgreSQL dianggap sebagai salah satu database paling aman, menyediakan kemampuan AAA.
Autentikasi
Otentikasi berarti pengguna mana yang diizinkan untuk mengakses database. Dalam istilah teknis, pengguna mana yang dapat “masuk” ke sistem basis data. PostgreSQL memiliki konsep yang kuat tentang proses otentikasi yang seharusnya. Metode otentikasi PostgreSQL dibagi menjadi tiga kategori: (1) Otentikasi Internal PostgreSQL (2) Otentikasi Sistem Operasi dan (3) Otentikasi Server Eksternal. Gambar 3 menunjukkan semua metode otentikasi yang didukung yang diurutkan berdasarkan kategori.
Baca Juga : Tips Untuk Migrasi Yang Lancar Ke PostgreSQL
Otorisasi
Bagian kedua dari AAA adalah otorisasi, yang berarti setelah login aktivitas apa yang dapat dilakukan pengguna di database. PostgreSQL memiliki kontrol berbeda untuk mengelola pengguna apa yang dapat dan tidak dapat dilakukan oleh pengguna. Kontrol ini bisa berbasis objek atau bisa berbasis baris. Berikut adalah kategori utama fitur otorisasi PostgreSQL:
- Peran, Pengguna, dan Grup
- HIBAH/PENCABURAN
- Keamanan Tingkat Baris
Akuntansi
Bagian terakhir dan ketiga dari AAA adalah akuntansi. Setelah “login” ke sistem database, pencatatan aktivitas pengguna disebut akuntansi. Berikut ini adalah daftar kategori logging yang perlu diperhatikan.
- Pencatatan Basis Data
- Pencatatan Jaringan
- Aplikasi
- Pencatatan Sistem Operasi
Money adalah inti dari semua yang kami lakukan di Xendit. Menjadi organisasi yang teliti dan berpusat pada pelanggan, kami ingin solusi penyimpanan kami untuk nilai pecahan tersebut menjadi tanpa kerugian dan berkinerja. Oleh karena itu, kami menghabiskan banyak upaya untuk desain skema database PostgreSQL kami.
Numerik? Bilangan bulat?
Misalkan kita perlu menyimpan transaksi dengan nilai moneter dan mata uangnya. Karena kami tidak dapat mentolerir masalah pembulatan apa pun, tipe data pertama yang muncul dalam pikiran adalah numeric , yang membuat tabel terlihat seperti ini:
Transaksi dengan US$13,67 akan disimpan sebagai satu catatan transaksi , dengan jumlah “13,67” dan mata uang menjadi “USD”.
Masalah terpecahkan? Kami rasa tidak, karena dokumen resmi mengatakan:
- (untuk numerik) Persyaratan penyimpanan sebenarnya adalah dua byte untuk setiap kelompok empat digit desimal, ditambah tiga hingga delapan byte overhead.
- Sepertinya itu bisa memakan lebih banyak ruang daripada bilangan bulat ukuran tetap untuk angka dengan lebih banyak digit. Kita mungkin terkena ini karena kita berurusan dengan IDR! (FYI, pada saat penulisan, 1 USD adalah sekitar Rp 14.300)
- Namun, perhitungan nilai numerik sangat lambat dibandingkan dengan tipe integer, atau tipe floating-point yang dijelaskan di bagian berikutnya.
Transaksi yang sama dengan US$13,67 akan disimpan sebagai satu catatan transaksi dengan magnified_amount menjadi “1367” dan mata uang menjadi “USD”, bersama dengan record pada kaca pembesar dengan mata uang “USD” dan kaca pembesar menjadi “100”, seperti yang diilustrasikan di bawah ini.
Dalam istilah yang lebih sederhana, kami menyimpan ini sebagai 1367 sen daripada 13,67 dolar.
Rupanya, ini juga tidak sempurna, rentangnya dibatasi (walaupun biasanya cukup besar), dan yang lebih penting, denominasi terbaik adalah semacam dikunci oleh kaca pembesar, misalnya, untuk membuat pabrik pendukung tabel di atas , kita harus untuk melakukan migrasi. Plus, pengembang harus selalu mengingat nilai yang diperbesar (itulah sebabnya kami menamai bidang magnified_amount sebagai pengingat).
Kesimpulan
Posting blog ini adalah yang pertama dari seri Keamanan PostgreSQL. Di blog ini, saya mencoba untuk membahas ikhtisar utama keamanan, yang akan menjadi dasar untuk topik keamanan saya berikutnya. Posting blog berikutnya adalah tentang Otentikasi (PostgreSQL Internal Authentication).
Tips Untuk Migrasi Yang Lancar Ke PostgreSQL
Tips Untuk Migrasi Yang Lancar Ke PostgreSQL – Organisasi terkenal sering cari jalan keluar berlainan untuk simulasi data bekerja tinggi dan lingkungan penyimpanan yang aman. Basis yang terkenal ialah PostgreSQL , database open source yang tawarkan kematangan krisis dan feature perusahaan untuk skalabilitas dan tersedianya tinggi.
Tips Untuk Migrasi Yang Lancar Ke PostgreSQL

pgsql – Karena posisinya sebagai DBMS of the Year 2020 , tidaklah heran bila makin bertambah organisasi yang mau berpindah ke Postgres. Apalagi, sepanjang wabah global, banyak beberapa perusahaan yang pernah mengevaluasi mekanisme yang tetap dipakai saat sebelum wabah (pikir mekanisme ticket pesawat).
Penilaian mekanisme krisis ini sudah memacu dimensi anyar migrasi, menaikkan keinginan untuk Postgres dan menggerakkan pengeluaran bujet yang lebih efektif untuk pastikan keunggulan bersaing yang lebih tajam.
Meski begitu, lakukan migrasi ke database anyar bisa mendatangkan banyak rintangan. Untuk menahan problem performa dan pastikan migrasi yang lancar ke PostgreSQL, team TI harus berencana petualangan awalnya dengan ikut serta dalam beberapa petualangan simpel:
Tes
Pengetesan amat krusial untuk menahan problem yang tak tersangka dan waktu henti. Saat sebelum lakukan migrasi dari 1 tipikal database ke tipikal database yang lain, yakinkan untuk mengetes di lingkungan non-produksi yang amat serupa dengan lingkungan produksi, dan mengetes peranan Bahasa Prosedural untuk SQL (PL/SQL) untuk pastikan mereka porting secara benar dari yang telah ada. ke pangkalan data anyar. Sesudah migrasi dites di lingkungan non-produksi dan semua problem sudah dituntaskan, program bisa dibawa ke produksi lebih optimis.
Baca Juga : Cara Mengelola Database PostgreSQL
Bagi aktivitas
Pengembang bisa habiskan beberapa waktu untuk membuat mekanisme yang cemerlang dan kompleks dengan Postgres, tapi tanpa share aktivitas ini dengan team DevOps yang bertambah luas, semua berusaha keras ini bisa sirna saat pribadi itu absen dari perusahaan.
Untuk menjauhi kewajiban mengawali dari sejak awalnya, departemen TI harus membagikan aktivitas ini ke satu kelompok kecil pengembang, untuk pastikan jika lebih satu individu turut serta dalam implikasi mekanisme.
Apalagi, dengan memakai skill kekinian seperti jalankan Postgres di Kubernetes , jalankan pengetesan unit berulang-ulang dari aktivitas yang sudah dilancarkan pada migrasi jadi lebih gampang dan handal.
Analitis kompatibilitas
Sering, opsi database mana yang hendak dipakai untuk mengawali betul-betul random, berdasar pemakaian, atau berdasar ukuran database. Putuskan berdasar ukuran atau pemakaian lebih bagus ketimbang tidak benar-benar, tapi ini dapat menyimpang. Pangkalan data paling kecil barangkali yang mempunyai nalar atau feature yang tak mempunyai korelasi 1:1 di antara pangkalan data yang berada dan pangkalan data sasaran.
Untuk menjauhi blunder ini, ada alat yang ada yang memandang kompatibilitas database yang berada dengan Postgres. Sesudah sebuah perusahaan memutuskan database yang mana paling dan sekurang-kurangnya cocok dengan Postgres, sebaiknya mengawali dengan database yang kelihatan termudah. Ini memungkinkannya team TI untuk memperoleh pengetahuan yang bisa mereka pakai kembali saat waktunya hadir untuk kasus yang lebih melawan.
Meminta kontribusi pakar
Perusahaan yang tak mempunyai ketrampilan Postgres yang ideal kerap kali membuat riset ekstensif untuk ketahui praktek terbaik. Ini dapat amat memerlukan waktu, belum juga anjurannya tidak disamakan dengan keperluan pribadi organisasi.
Organisasi yang tak mempunyai paling tidak beberapa individu yang eksper dalam Postgres yang ada untuk berencana pendekatan harus menimbang untuk minta kontribusi dari ahli dan professional PostgreSQL. Ini bakal percepat perusahaan diperjalanan Postgresnya, dan akan menolong menjauhi blunder mahal yang harus diperbarui setahun dari sekarang ini.
Menjadikan itu fokus
Seperti banyak pembaruan infrastruktur yang mau dilancarkan perusahaan, kadang kala peralihan ke Postgres ‘diprioritaskan’, tapi tak pernah sukses menembus posisi paling atas. Untuk menuntaskan aktivitas secara cepat, perusahaan harus pikirkan destinasi mereka dan apa yang mau mereka peroleh dari Postgres. Misalkan, perusahaan yang fokus pada pemakai di atas segala hal bisa mendapat faedah dari pengurangan waktu transaksi bisnis dan kenaikan kredibilitas data.
Di lain sisi, perusahaan yang lebih konsentrasi pada penghematan waktu bisa menimbang untuk mengalihkan dua ataupun lebih tipikal database ke Postgres, untuk meminimalisir jumlah tipikal database yang mereka pakai. Kurangi pangkalan data yang memerlukan beberapa waktu untuk perawatannya bisa menolong kurangi perpecahan problem dan peralihan kerangka. Dengan fokus dalam sejumlah destinasi khusus, perusahaan bisa menyaksikan hasil riil lebih cepat.
Dengan semua bisa jadi blunder yang dapat dilancarkan, migrasi ke database anyar dapat terlihat seperti pekerjaan yang mengerikan. Tapi karena PostgreSQL patuhi standard industri dan ketentuan yang diputuskan oleh Teori Pangkalan Data Rekananonal, dan semua support external yang ada, hal tersebut tak perlu dilancarkan.
Dengan berencana petualangan awalnya, mengetes lingkungan produksi, dan minta support ahli yang berkaitan, perusahaan bisa pastikan peralihan yang mulus dan gampang ke Postgres dan memetik banyak faedah dari basis sumber terbuka ini.
Cara Mengelola Database PostgreSQL
Cara Mengelola Database PostgreSQL – Sekarang adalah waktu yang tepat untuk mempelajari database relasional dan SQL. Dari pengembangan web hingga ilmu data, mereka digunakan di mana-mana.
Cara Mengelola Database PostgreSQL

pgsql – Dalam Survei Stack Overflow 2021 , 4 dari 5 teknologi database teratas yang digunakan oleh pengembang profesional adalah sistem manajemen database relasional.
PostgreSQL adalah pilihan yang sangat baik sebagai sistem manajemen basis data relasional pertama yang dipelajari.
- Ini banyak digunakan di industri, termasuk di Uber, Netflix, Instagram, Spotify, dan Twitch .
- Ini open source, jadi Anda tidak akan terkunci ke vendor tertentu.
- Ini lebih dari 25 tahun, dan pada waktu itu telah mendapatkan reputasi untuk stabilitas dan keandalan.
Baik Anda belajar dari Sertifikasi Basis Data Relasional FreeCodeCamp atau mencoba PostgreSQL di komputer Anda sendiri, Anda memerlukan cara untuk membuat dan mengelola basis data, memasukkan data ke dalamnya, dan meminta data darinya.
Baca Juga : Apa Itu PostgreSQL dan Mengapa Pengembang Perusahaan Rintisan Menyukainya
Meskipun ada beberapa aplikasi grafis untuk berinteraksi dengan PostgreSQL, menggunakan psql dan baris perintah mungkin merupakan cara paling langsung untuk berkomunikasi dengan database Anda.
Apa itu psql?
psql adalah alat yang memungkinkan Anda berinteraksi dengan database PostgreSQL melalui antarmuka terminal. Saat Anda menginstal PostgreSQL pada mesin, psql secara otomatis disertakan.
psql memungkinkan Anda menulis kueri SQL, mengirimkannya ke PostgreSQL, dan melihat hasilnya. Ini juga memungkinkan Anda menggunakan perintah meta (yang dimulai dengan garis miring terbalik) untuk mengelola database. Anda bahkan dapat menulis skrip dan mengotomatiskan tugas yang berkaitan dengan database Anda.
Sekarang, menjalankan database di komputer lokal Anda dan menggunakan baris perintah mungkin tampak menakutkan pada awalnya. Saya di sini untuk memberi tahu Anda bahwa itu tidak terlalu buruk. Panduan ini akan mengajarkan Anda dasar-dasar mengelola database PostgreSQL dari baris perintah, termasuk cara membuat, mengelola, mencadangkan, dan memulihkan database.
Prasyarat – Instal PostgreSQL
Jika Anda belum menginstal PostgreSQL di komputer Anda, ikuti instruksi untuk sistem operasi Anda pada dokumentasi resmi PostgreSQL .
Saat Anda menginstal PostgreSQL, Anda akan dimintai kata sandi. Simpan ini di tempat yang aman karena Anda akan membutuhkannya untuk terhubung ke database apa pun yang Anda buat.
Bagaimana Menghubungkan ke Database
Anda memiliki dua opsi saat menggunakan psql untuk terhubung ke database: Anda dapat terhubung melalui baris perintah atau dengan menggunakan aplikasi psql. Keduanya memberikan pengalaman yang hampir sama.
Hubungkan ke database dengan baris perintah
Buka terminal. Anda dapat memastikan psql diinstal dengan mengetik psql version. Anda akan melihat psql (PostgreSQL) version_number, di mana version_numberversi PostgreSQL yang diinstal pada mesin Anda. Dalam kasus saya, ini 14.1.
Bendera -dadalah alternatif yang lebih pendek untuk –dbnamesementara -Uadalah alternatif untuk –username.
Saat Anda menginstal PostgreSQL, database dan pengguna default telah dibuat, keduanya disebut postgres. Jadi masuk psql -d postgres -U postgresuntuk terhubung ke postgresdatabase sebagai postgressuperuser.
Anda akan dimintai kata sandi. Masukkan kata sandi yang Anda pilih saat menginstal PostgreSQL di komputer Anda. Prompt terminal Anda akan berubah untuk menunjukkan bahwa Anda sekarang terhubung ke postgresdatabase.
Jika Anda ingin terhubung langsung ke database sebagai diri Anda sendiri (bukan sebagai pengguna postgressuper), masukkan nama pengguna sistem Anda sebagai nilai nama pengguna.
Terhubung ke database dengan aplikasi psql
Luncurkan aplikasi psql itu akan disebut “SQL Shell (psql)”. Anda akan diminta untuk server, database, port dan nama pengguna. Anda cukup menekan enter untuk memilih nilai default, yaitu localhost, postgres, 5432, dan postgres.
Selanjutnya, Anda akan dimintai kata sandi yang Anda pilih saat menginstal PostgreSQL. Setelah Anda memasukkan ini, prompt terminal Anda akan berubah untuk menunjukkan bahwa Anda terhubung ke postgresdatabase.
Catatan: Jika Anda menggunakan Windows, Anda mungkin melihat peringatan seperti “Halaman kode konsol (850) berbeda dari halaman kode Windows (1252) Karakter 8-bit mungkin tidak berfungsi dengan benar. Lihat halaman referensi psql ‘Catatan untuk pengguna Windows’ untuk detailnya.” Anda tidak perlu khawatir tentang ini pada tahap ini. Jika Anda ingin membaca lebih lanjut tentangnya, lihat dokumentasi psql .
Bagaimana Mendapatkan Bantuan di psql
Untuk melihat daftar semua perintah meta psql, dan ringkasan singkat tentang apa yang mereka lakukan, gunakan \?perintah.
Jika Anda ingin bantuan dengan perintah PostgreSQL, gunakan \hatau \helpdan perintah.
Ini akan memberi Anda deskripsi perintah, sintaksnya (dengan bagian opsional dalam tanda kurung siku), dan URL untuk bagian yang relevan dari dokumentasi PostgreSQL.
Apa Itu PostgreSQL dan Mengapa Pengembang Perusahaan Rintisan Menyukainya
Apa Itu PostgreSQL dan Mengapa Pengembang Perusahaan Rintisan Menyukainya – PostgreSQL ialah mekanisme pangkalan data rekananonal sumber terbuka yang tangguh yang diketahui dengan keunggulan, kekuatan feature, dan performa.
Apa Itu PostgreSQL dan Mengapa Pengembang Perusahaan Rintisan Menyukainya

pgsql – PostgreSQL jadi database opsi untuk makin bertambah perusahaan. Sekarang ini rangking #4 dalam reputasi antara beberapa ratus database di penjuru dunia berdasarkan Rangking DB-Engine.
Dasar-dasarnya terlebih dahulu – Apa itu PostgreSQL?
PostgreSQL ialah database rekananonal. Sebuah tabel simpan beberapa baris berkaitan. Database rekananonal ialah ragam database yang umum dipakai. Ini menjadi perbedaan dianya dengan konsentrasi pada integratif dan ekstensibilitas. Dia bekerja dengan beberapa tehnologi lain dan cocok dengan bermacam standard pangkalan data, yang menentukannya bisa diperlebar.
Pada beberapa tahun akhir, banyak beberapa perusahaan dengan cara resmi memberi dukungan pada peningkatan project PostgreSQL. Silahkan kita keduk lebih dalam kenapa itu memperoleh reputasi.
Baca Juga : Kursus PostgreSQL Terbaik & Gratis Untuk Pemula
Mengapa menggunakan PostgreSQL?
Sebuah database kelas perusahaan, PostgreSQL tawarkan sejumlah fitur hebat seperti Multi-Version Concurrency Kontrol (MVCC), penyembuhan titik waktu, tablespace, simulasi asinkron, transaksi bisnis bersarang, pencadangan online/panas, perencana/pengoptimal kueri yang hebat, dan pendataan awalnya untuk toleran blunder.
PostgreSQL bekerja pada mayoritas mekanisme operasi terkenal – sebagian besar distribusi Linux dan Unix, Windows, Mac OS X. Karakternya yang open source membuat dirinya gampang untuk dinaikan atau diperlebar. Di PostgreSQL, Anda bisa tentukan tipikal data Anda sendiri, membuat peranan custom, serta menulis code dengan bahasa pemrograman lain (misalkan Python) tanpa mengkompilasi ulangi database. Dan, tentunya, PostgreSQL gratis!
Basis data yang andal
PostgreSQL tidak cuma rekananonal, tapi juga rekananonal object dan memberi dukungan pada susunan kompleks dan luasnya tipikal data bawaan dan yang ditetapkan pemakai. Ini sediakan kemampuan data yang luas dan dipercayai untuk kredibilitas datanya.
Ini memberi beberapa keunggulan dibanding database SQL open source yang lain seperti MySQL, MariaDB dan Firebird. PostgreSQL datang dengan beberapa feature yang diperuntukkan untuk menolong pengembang membuat program, administrator membuat perlindungan kredibilitas data, dan membuat lingkungan yang tolerir pada blunder.
Ini tawarkan pemakainya sebagian besar (dan semakin bertambah) peranan. Ini menolong pemrogram untuk membikin program anyar, admin membuat perlindungan kredibilitas data dengan lebih bagus, dan pengembang membuat lingkungan yang kuat dan aman. PostgreSQL memberikan pemakainya kekuatan untuk mengurus data, lepas dari berapa besar databasenya.
Basis data yang dapat diperluas
Selainnya gratis dan open source, PostgreSQL amat bisa diperkembangkan. Ada dua tempat yang mencolok dari PostgreSQL saat pemakai perlu mengonfigurasikan dan mengatur database mereka. Pertama, ini amat cocok dengan standard SQL. Ini menaikkan interoperabilitasnya dengan program lain.
Ke-2 , PostgreSQL memberikan pemakai, kontrol atas metadata. PostgreSQL bisa diperlebar karena operasinya dilakukan oleh daftar. Satu ketidaksamaan khusus di antara PostgreSQL dan mekanisme database rekananonal standard ialah PostgreSQL simpan semakin banyak info dalam daftarnya: tak hanya info mengenai tabel dan kolom, tapi juga info mengenai tipikal data, peranan, sistem akses, dan lain-lain.
Bagaimana PostgreSQL digunakan?
PostgreSQL mempunyai riwayat yang kaya untuk memberi dukungan pada tipikal data tingkat menengah, dan memberi dukungan pada tingkat optimalisasi performa yang umumnya dihubungkan dengan rekanan database komersil, seperti Oracle dan SQL Server. PostgreSQL dipakai sebagai penyimpanan data khusus atau gudang data untuk banyak program situs, mobile, geospasial, dan analitik.
PostgreSQL bisa simpan data terancang dan tidak terancang pada sebuah produk. Data tidak terancang, diketemukan dalam audio, video, e-mail, dan posting sosial media, bisa dipakai untuk menaikkan service konsumen setia, mendapati syarat produk anyar, dan mendapati langkah untuk menahan konsumen setia berpindah antara banyak manfaat yang lain.
PostgreSQL mempunyai kekuatan pemrosesan transaksi bisnis online (OLTP) yang diuntungkan dan bisa dikonfigurasi untuk ketidakberhasilan automatis dan redundansi penuh, alhasil pas untuk instansi keuangan dan produsen. Sebagai pangkalan data analitik yang amat oke, dia bisa diintegrasikan secara efisien dengan piranti lunak matematika, seperti Matlab dan R. Karena kekuatan simulasi PostgreSQL, website bisa secara mudah dinaikan ke server pangkalan data sekitar yang Anda perlukan.
PostgreSQL jika dipakai dengan perpanjangan PostGIS, memberi dukungan pada object geografis, dan bisa dipakai sebagai penyimpanan data geospasial untuk service berbasiskan lokasi dan mekanisme info geografis (GIS).
Kursus PostgreSQL Terbaik & Gratis Untuk Pemula
Kursus PostgreSQL Terbaik & Gratis Untuk Pemula – Halo teman-teman, jika Anda ingin mempelajari database PostgreSQL pada tahun 2022 dan mencari kursus online Postgres terbaik dan gratis maka Anda telah datang ke tempat yang tepat.
Kursus PostgreSQL Terbaik & Gratis Untuk Pemula

pgsql – Sebelumnya, saya telah membagikan kursus terbaik untuk belajar MySQL dan Microsoft SQL Server dan hari ini, saya akan membagikan kursus PostgreSQL terbaik dan gratis dari Udemy, Pluralsight, dan portal online lainnya.
PostgreSQL adalah salah satu database paling populer setelah tiga besar Oracle , SQL Server , dan MySQL . PostgreSQL umumnya dikenal sebagai Postgres dan sering disebut sebagai database open source tercanggih di dunia.
Jika Anda ingin mempelajari PostgreSQL pada tahun 2022 dan mencari beberapa sumber yang berguna seperti buku, tutorial, dan kursus, maka Anda telah datang ke tempat yang tepat. Pada artikel ini, saya akan membagikan beberapa kursus online PostgreSQL terbaik untuk pemula.
Kursus ini akan mencakup topik mulai dari instalasi hingga menulis kueri dasar dan mengambil data dari tabel. Anda juga akan menjelajahi logika SQL Joins , dan beberapa praktik terbaik yang penting saat bekerja di dunia nyata, produksi database PostgreSQL.
Baca Juga : Cara Memeriksa Versi PostgreSQL Anda
Bagi mereka yang tidak tahu apa itu PostgreSQL dan mengapa Anda harus mempelajarinya, izinkan saya memberi Anda beberapa pengenalan dasar. PostgreSQL adalah sistem manajemen basis data relasional objek sumber terbuka (ORDBMS), yang dikembangkan di University of California, Berkeley, pada tahun 1996. Sekarang dikelola oleh PostgreSQL Global Development Group.
PostgreSQL diimplementasikan dalam bahasa Pemrograman C , dan tidak seperti MySQL , yang memiliki banyak mesin penyimpanan, ia hanya memiliki satu mesin penyimpanan.
PostgreSQL adalah database relasional open-source tercanggih di dunia. Ini memiliki reputasi yang kuat untuk keandalan, integritas data, dan ketahanannya. Karena itu, PostgreSQL adalah salah satu sistem database yang paling populer dan banyak digunakan di dunia. Perusahaan yang menggunakan PostgreSQL termasuk Apple, Cisco, Spotify, Fujitsu, Skype, Netflix, dan IMDb.
PostgreSQL memiliki fasilitas banyak feature yang diperuntukkan untuk menolong pengembang membuat program, administrator membuat perlindungan kredibilitas data, dan membuat lingkungan yang tolerir pada blunder, dan menolong Anda mengurus data, tak perduli berapa kecil atau besar kelompok data itu. Selainnya gratis dan open-source, PostgreSQL amat bisa diperkembangkan, yang menjadikan pangkalan data kesukaan beberapa pengembang anyar kekinian.
Apa perbedaan antara SQL dan PostgreSQL?
Ini adalah salah satu keraguan umum di antara semua profesional TI. Beberapa salah paham bahwa SQL dan PostgreSQL adalah sama yang tidak benar.
SQL adalah bahasa. Secara khusus, “Bahasa Kueri Terstruktur”
PostgreSQL adalah salah satu dari beberapa sistem database, atau RDMS (Relational Database Management System). PostgresSQL adalah salah satu dari beberapa RDBMS, yang lainnya adalah Oracle , Informix , MySQL , dan MSQL .
Semua RDBMS ini menggunakan SQL sebagai bahasanya. Masing-masing dari mereka memiliki sedikit variasi dalam “dialek” SQL yang mereka gunakan, tetapi semuanya masih SQL. Misalnya, SQL Server memiliki kata kunci TOP yang tidak tersedia di Oracle.
Demikian pula, PostgreSQL memiliki banyak fungsi yang tidak tersedia di database lain. Sebelumnya, saya telah berbagi tentang T-SQL vs Pl/SQL vs SQL dan ini sama, alih-alih T-SQL Anda memiliki PostgreSQL.
Kursus Terbaik & Gratis untuk mempelajari Database PostgreSQL untuk Pemula
Bagaimanapun, tanpa membuang waktu Anda lagi, berikut adalah daftar beberapa kursus online terbaik dari portal seperti Udemy, Pluralsight, Coursera untuk belajar PostgreSQL pada tahun 2022
Kursus Pengembang Python dan PostgreSQL Lengkap
Ini adalah salah satu kursus tarif di mana Anda akan mempelajari Python dan PostgreSQL dalam satu kelas. Jika Anda ingin mempelajari Python dan PostgreSQL dengan membangun proyek dunia nyata, maka ini adalah kursus terbaik untuk Anda.
Dalam kursus ini, Anda akan membangun 9 proyek dan menguasai dua teknologi penting dan modern dalam Python dan PostgreSQL. Kursus ini juga masuk jauh ke dalam Python tetapi akan memberi Anda pengetahuan yang cukup untuk bekerja di database PostgreSQL.
Dibuat oleh salah satu instruktur favorit saya di Udemy Jose Salvatierra, kursus ini sangat cocok untuk pengembang baru yang mencoba mendapatkan Python dan PostgreSQL dengan membuat proyek pribadi.
SQL dan PostgreSQL untuk Pemula
SQL adalah salah satu keterampilan teknologi yang paling diminati di seluruh industri, dan mempelajari SQL adalah salah satu cara terbaik untuk meningkatkan karier Anda, tetapi mempelajari SQL saja tidak cukup.
Anda juga perlu memilih database seperti PostgreSQL, dan ini adalah salah satu kursus terbaik untuk belajar SQL & PostgreSQL Tutorial dengan menulis SQL Query menggunakan PostgreSQL dan PgAdmin 4.
Kursus ini terstruktur dengan baik dan memandu Anda melalui dasar-dasar konsep SQL, yang sangat baik untuk perspektif pemula yang lengkap. Setelah menyelesaikan kursus ini, Anda akan merasa percaya diri untuk pergi dan mempelajari topik SQL lebih lanjut .
Jika Anda ingin mempelajari SQL dan PostgreSQL pada tahun 2022,ini adalah kursus terbaik untuk Anda. Berbicara tentang bukti sosial, kursus ini mendapat rata-rata 4,5 peringkat dari hampir 1.029 peserta, dan lebih dari 6.076 siswa telah mendaftar di kursus ini.
Cara Memeriksa Versi PostgreSQL Anda
Cara Memeriksa Versi PostgreSQL Anda – Versi baru PostgreSQL dirilis secara berkala. Rilis utama dijadwalkan setiap tahun dan fokus pada peningkatan fitur utama dan perbaikan bug yang diketahui. Rilis kecil tersedia kira-kira setiap tiga bulan dan bertujuan untuk menyelesaikan masalah keamanan yang sedang berlangsung.
Cara Memeriksa Versi PostgreSQL Anda

pgsql – Anda mungkin ingin memeriksa apakah Anda memiliki patch keamanan terbaru, atau apakah perangkat lunak baru yang ingin Anda terapkan kompatibel dengan versi PostgreSQL Anda. Tutorial ini menunjukkan cara memeriksa versi PostgreSQL Anda menggunakan beberapa perintah singkat.
Baca Juga : Buka Tabel PostgreSQL di QGIS tanpa Informasi Spasial
Prasyarat
Akses ke jendela terminal/baris perintah
Server basis data PostgreSQL
Periksa Versi PostgreSQL dari Baris Perintah
- Akses terminal Anda dan masukkan perintah berikut untuk memeriksa versi PostgreSQL Anda: postgres –version
- Nomor versi ditampilkan di jendela terminal Anda. Cara lain untuk memeriksa versi PostgreSQL Anda adalah dengan menggunakan -Vopsi: postgres -V
Kedua perintah ini bekerja dengan instalasi yang dimulai dari repositori resmi. Mereka mungkin tidak berlaku untuk instalasi yang berasal dari sumber pihak ketiga. Sebagai gantinya, Anda mungkin menerima pesan “Perintah ‘postgres’ tidak ditemukan” .
Semua yang Anda butuhkan untuk administrasi basis data harian
EMS SQL Management Studio untuk PostgreSQL adalah solusi lengkap untuk administrasi dan pengembangan database PostgreSQL. Meja kerja tunggal memberi Anda alat yang harus dimiliki untuk mengelola database dan objek PostgreSQL, serta untuk desain database, migrasi, ekstraksi, pembuatan kueri, impor dan ekspor data, perbandingan database, dan menjalankan tugas layanan.
administrasi basis data
Dapatkan akses ke semua database dan objeknya dari satu konsol dan kelola dengan antarmuka yang ramah pengguna. Anda dapat membuat dan memodifikasi semua objek server dan database, mengatur properti yang diperlukan, dan melihat info detail di editor visual tingkat lanjut.
- Manajemen Basis Data
- Manajemen Objek
- manajemen pengguna
- Kesesuaian
Manajemen Basis Data
Transfer perubahan struktur dari database pengembangan ke produksi secara otomatis dengan alat Bandingkan database. Buat diagram ER untuk database yang baru dikembangkan untuk menyebarkannya dengan cepat. Buat tugas pemeliharaan database dengan opsi lanjutan dan biarkan SQL Studio menjalankannya secara teratur.
- Desainer Basis Data
- DB Bandingkan dan Sinkronkan
- Layanan PostgreSQL
Perkembangan
Hemat waktu berharga dalam membuat kueri dan mengelola skrip SQL dengan alat yang efektif dan berkinerja tinggi, yang memiliki semua fitur yang diperlukan untuk pengembang basis data. Isi database dengan data pengujian atau buat laporan data dan struktur langsung dari Studio.
- Desainer Kueri
- Jalankan Skrip
- Penyelesaian Kode
- Debugger
- Pembuat Data
- Desainer Laporan
- Dokumentasi Basis Data
- Manajemen Perubahan
Manipulasi data
Alat yang mengesankan untuk memproses data tabel tersedia sebagai wizard yang mudah digunakan dan versi baris perintah untuk penjadwalan. Impor dan ekspor data ke beberapa tabel sekaligus, konversi database dari jenis server lain, dan otomatisasi perbandingan dan sinkronisasi data antara database yang berbeda.
- Impor Data
- Ekspor Data
- Migrasi dan konversi
- Perbandingan dan Sinkronisasi Data
Manajemen server
Sederhanakan pekerjaan dengan PostgreSQL Server dengan alat visual yang berguna untuk menelusuri log server, mendapatkan informasi tentang kunci dan koneksi, dan mengelola beban kerja server.
- Pengurai Log Server
- Status server
Manfaat dalam pembelian
- Dapatkan satu set lengkap alat yang harus dimiliki hanya dengan 50% dari harga regulernya!
- GRATIS Pemeliharaan Satu Tahun sudah termasuk!
- Pembaruan dan peningkatan perangkat lunak GRATIS selama periode Pemeliharaan!
- Dukungan Teknis GRATIS dan tidak terbatas selama periode Pemeliharaan!
- Harga yang wajar untuk pembaruan Pemeliharaan – mulai 35% per Tahun!
- Diskon volume saat membeli dua atau lebih salinan satu produk
- Diskon cross-selling untuk produk terkait
- Jaminan uang kembali 30 hari
Buka Tabel PostgreSQL di QGIS tanpa Informasi Spasial
Buka Tabel PostgreSQL di QGIS tanpa Informasi Spasial – Halo semuanya, selamat datang di seri Tutorial QGIS kami. Hari ini, kita akan belajar bagaimana membuka tabel PostgreSQL di QGIS. Tapi harap dicatat bahwa ini bukan tutorial tentang PostGIS.
Buka Tabel PostgreSQL di QGIS tanpa Informasi Spasial

pgsql – Saya hanya ingin membuka tabel PostgreSQL asli di QGIS. Ada banyak orang atau perusahaan yang menyimpan data mereka di MySQL atau PostgreSQL. Sebagian besar data tidak memiliki informasi spasial. Tapi tetap saja, kita bisa bekerja dengan data di QGIS. Sebagai contoh, saya akan membuka tabel dengan informasi koordinat X dan Y. Kami kemudian dapat menampilkan data ini sebagai titik di QGIS. QGIS mendukung banyak tipe database seperti PostgreSQL, SQL Server, MySQL, Oracle, dan SQLite.
Baca Juga : PostgreSQL vs. MySQL: Apa yang perlu Anda ketahui
Bekerja dengan perhitungan Tanggal dan Waktu adalah bagian integral dari solusi Analisis Data apa pun. Baik itu data keuangan atau data apa pun yang terkait dengan penjualan, tanggal selalu memainkan peran penting dalam menganalisis tren dan karenanya menarik pola darinya. Beberapa KPI yang paling umum digunakan yang melibatkan perhitungan tanggal dan waktu adalah penjualan bulanan, lalu lintas web triwulanan, pertumbuhan tahun ke tahun, dll. KPI ini membantu bisnis memahami dan mengukur kinerja mereka dan juga membantu dalam membuat keputusan yang diperlukan untuk pengembangan mereka.
Pada artikel ini, kita akan menjelajahi beberapa fungsi Tanggal dan Waktu penting yang dapat digunakan di PostgreSQL dan bagaimana mereka dapat diimplementasikan selanjutnya.
PostgreSQL adalah salah satu sistem database relasional open-source terkemuka yang dapat digunakan untuk membangun database operasional serta gudang data. PostgreSQL menyediakan sejumlah fungsi tanggal dan waktu yang berbeda secara default yang dapat digunakan untuk menghitung jenis KPI ini. Selain itu, kita dapat menghitung interval waktu menggunakan fungsi-fungsi ini yang akan membantu kita menganalisis apa yang telah berubah di antara kedua kerangka waktu tersebut. Dalam artikel ini, kita akan fokus pada konsep-konsep berikut.
Hubungkan ke PostgreSQL di QGIS
Pada titik ini, saya berasumsi Anda memiliki akses ke server/database PostgreSQL Anda. Ada banyak tutorial di internet tentang cara menginstal PostgreSQL di Windows atau Linux. Saya tidak akan membahas ini di sini, mungkin di tutorial berikutnya. Untuk terhubung ke server PostgreSQL di QGIS, lakukan hal berikut:
1. Buka Sumber Data | PostgreSQL. Anda dapat melakukannya dengan pergi ke Data Source Manager dan kemudian klik PostgreSQL dari panel kiri.
2. Klik tombol New untuk membuka jendela konfigurasi PostgreSQL baru. Masukkan detail server PostgreSQL di sini. Anda akan memerlukan nama host atau alamat IP, nama pengguna dan kata sandi untuk server. Pastikan Anda mengaktifkan opsi “Juga daftar tabel tanpa geometri”. Hal ini untuk memastikan bahwa kita dapat melihat semua tabel yang tidak memiliki informasi spasial.
3. Click OK
Buka Tabel PostgreSQL di QGIS
Pada langkah sebelumnya, Anda telah mempelajari cara menghubungkan ke server/database PostgreSQL. Sekarang mari kita buka beberapa tabel dari database. Di jendela Data Source Manager, pilih koneksi PostgreSQL Anda yang telah kami buat sebelumnya. Klik tombol Add untuk melihat daftar tabel dalam database.
Kesimpulan
PostgreSQL adalah server database yang kuat dan andal. QGIS dapat memanfaatkan kekuatan PostgreSQL dalam banyak cara. Kita cukup membuka dan mengedit tabel PostgreSQL langsung dari QGIS. Ada artikel bagus tentang hubungan antara QGIS – PostgreSQL di sini.
PostgreSQL vs. MySQL: Apa yang perlu Anda ketahui
PostgreSQL vs. MySQL: Apa yang perlu Anda ketahui – MySQL dan PostgreSQL adalah dua sumber database teratas yang direplikasi Fivetran ke gudang data untuk analitik data. Itu tidak mengherankan — mereka juga merupakan dua database relasional open source teratas , yang berfungsi sebagai ujung belakang dari aplikasi komersial, open source, dan in-house yang tak terhitung jumlahnya.
PostgreSQL vs. MySQL: Apa yang perlu Anda ketahui

pgsql – Postgres (seperti yang sering dikenal) dan MySQL sudah ada sejak lama. Keduanya adalah RDBMS yang aman dengan dukungan untuk pengelompokan dan toleransi kesalahan jaringan. Tetapi untuk semua kesamaan mereka, PostgreSQL dan MySQL memiliki sejumlah karakteristik yang membedakan mereka satu sama lain, seperti yang akan kita lihat sebentar lagi.
Baca Juga : Tutorial Penyesuaian Kinerja PostgreSQL
Sejarah basis data
Pada mulanya adalah kata, dan kata itu adalah Ingres. Ingres adalah salah satu sistem manajemen basis data relasional pertama, dimulai sebagai proyek di UC Berkeley pada tahun 1973. Ini dirilis di bawah lisensi Berkeley Source Distribution (BSD) , yang menjadikannya perangkat lunak sumber terbuka, dan menjadi dasar bagi banyak komersial produk basis data. Kisah Ingres dan semua basis data yang tumbuh darinya sangat menarik, tetapi sebagian besar karena ia meminjamkan (sebagian) namanya ke basis data sumber terbuka lainnya.
Salah satu pengembang asli Ingres kembali ke Berkeley pada tahun 1985 (setelah mendirikan perusahaan yang mengkomersialkan Ingres) untuk mengembangkan penerus Ingres yang ia beri nama Postgres. Nama tersebut secara resmi diubah menjadi PostgreSQL untuk memanfaatkan referensi ke Bahasa Kueri Terstruktur, tetapi proyek tersebut menggunakan kedua nama tersebut. Rilis produksi pertama, PostgreSQL 6.0, keluar pada tahun 1997. Sekarang di versi 14 (beta), Postgres dikembangkan oleh “asosiasi sukarelawan dan perusahaan yang tidak berhubungan yang berbagi kode di bawah Lisensi PostgreSQL,” menurut FAQ proyek .
PostgreSQL bukan satu-satunya pilihan untuk database open source di abad ke-20. Tahun 90-an adalah zaman keemasan untuk database relasional. Di Swedia, Michael “Monty” Widenius dan rekan-rekannya mulai mengembangkan RDBMS mereka sendiri, dijuluki MySQL , pada tahun 1994. MySQL sekarang berada pada versi 8.0, dan dirilis di bawah GNU Public License versi 2 (GPLv2) dan lisensi kepemilikan.
Tidak seperti PostgreSQL, MySQL selalu berada di bawah kendali perusahaan. Pengembang asli MySQL AB diakuisisi oleh Sun Microsystems pada tahun 2008, tak lama sebelum Sun sendiri diakuisisi oleh Oracle pada tahun 2010. Pada hari akuisisi Oracle diumumkan, Widenius melakukan forked MySQL dan mendirikan MariaDB Corp. untuk mengembangkan RDBMS yang tidak berada di bawah kontrol perusahaan yang identik dengan pesaing basis data komersial. (Fakta menyenangkan: MySQL dinamai putri Widenius My. MariaDB dinamai putrinya yang lain.)
Membandingkan Postgres vs. MySQL
Tidak ada cerita asal yang kemungkinan akan menjadi film blockbuster dalam waktu dekat, tetapi salah satu database bisa menjadi pahlawan super untuk organisasi Anda. Manakah pilihan yang lebih baik? Jawabannya tergantung pada kebutuhan spesifik aplikasi Anda dari infrastruktur data back-end. Mari kita bandingkan dua database paling populer — MySQL dan PostgreSQL — di berbagai kebutuhan aplikasi yang berbeda, pertama di tabel ini dan kemudian secara lebih mendalam di teks berikut.
Arsitektur
PostgreSQL adalah database relasional objek, sedangkan MySQL murni relasional. Ini berarti PostgreSQL menawarkan tipe data yang lebih kompleks dan memungkinkan objek untuk mewarisi properti, tetapi juga membuat bekerja dengan PostgreSQL menjadi lebih kompleks. PostgreSQL memiliki mesin penyimpanan tunggal yang sesuai dengan ACID . MySQL memiliki dukungan untuk 16 mesin penyimpanan berbeda yang cocok untuk kasus penggunaan yang berbeda. Mesin penyimpanan default, InnoDB, menyediakan tabel yang diatur indeks.
PostgreSQL memunculkan proses sistem baru dengan menggunakan alokasi yang ada pada memorinya itu sendiri untuk setiap koneksi klien yang akan dibuatnya, sehingga ini itu akan sangat memerlukan banyak sekali memori pada sebuah sistem dengan jumlah koneksi klien yang sangat tinggi. MySQL menggunakan satu proses dan memelihara satu utas (atau jalur eksekusi) per koneksi, yang berfungsi dengan baik untuk sebagian besar aplikasi yang kurang dari lingkup perusahaan. Tiga fitur database yang umum adalah tampilan, pemicu, dan prosedur tersimpan. PostgreSQL memiliki tampilan yang lebih kuat, dan mendukung tampilan yang terwujud, yang dapat meningkatkan kinerja untuk kueri yang kompleks.
Kedua database mendukung pemicu AFTER dan BEFORE untuk pernyataan SQL INSERT, UPDATE, dan DELETE; PostgreSQL juga menawarkan pemicu BUKAN, dan dapat mengeksekusi pernyataan SQL kompleks dalam pemicu menggunakan fungsi. Kedua database mendukung prosedur tersimpan SQL standar, tetapi PostgreSQL menawarkan kemampuan tambahan untuk memanggil prosedur yang ditulis dalam bahasa selain SQL.
Tipe data
Postgres menawarkan variasi tipe data yang lebih luas daripada MySQL. Jika aplikasi Anda menangani salah satu tipe data unik yang tersedia, atau data tidak terstruktur, PostgreSQL mungkin merupakan pilihan yang lebih baik. Jika Anda hanya menggunakan karakter dasar dan tipe data numerik, kedua database akan cocok untuk Anda.
Indeks
Basis data menggunakan indeks untuk mempercepat kueri. Dengan beberapa opsi pengindeksan untuk dipilih, Anda dapat menyempurnakan kinerja database seiring pertumbuhan data untuk mendapatkan respons kueri yang lebih cepat dari database dan pengalaman pengguna yang lebih baik bagi pengguna aplikasi Anda.
Keamanan
Kedua database mendukung manajemen pengguna dan grup dan memberikan hak istimewa SQL untuk peran. PostgreSQL mendukung pemfilteran dan otentikasi klien berbasis IP menggunakan PAM dan Kerberos, sementara MySQL mendukung PAM, layanan windows asli, dan LDAP untuk otentikasi pengguna. Dalam hal keamanan, kedua database memiliki opsi yang sebanding.
Dukungan dan dokumentasi
Anda dapat menilai sendiri dokumentasi masing-masing vendor yang tersedia, karena Anda dapat menemukannya secara online. Postgres, karena tidak dikembangkan oleh perusahaan, tidak memiliki teknisi pendukung, tetapi forum dukungan komunitasnya luar biasa bagus. MySQL menawarkan forum serupa, serta paket dukungan berbayar yang dapat Anda beli dari Oracle.
PostgreSQL vs. MySQL: Mana yang Lebih Baik?
Jika Anda mengembangkan aplikasi dengan back end database, mana yang harus Anda gunakan? Pertimbangkan PostgreSQL untuk aplikasi apa pun yang mungkin berkembang ke lingkup perusahaan, dengan kueri kompleks dan operasi penulisan yang sering. Jika Anda baru mengenal dunia database dan tidak mengharapkan aplikasi Anda untuk ditingkatkan, atau Anda sedang mencari alat cepat untuk membuat prototipe, maka pertimbangkan MySQL.
Itu aturan praktis yang bagus, tetapi ada pertimbangan lain. Penyedia platform cloud Anda mungkin menawarkan keuntungan dalam hal menjalankan satu database di atas database lainnya, atau kerangka kerja aplikasi yang Anda gunakan mungkin lebih cocok untuk satu database, atau rekan pengembang Anda mungkin memiliki pendapat. MySQL lebih banyak digunakan daripada PostgreSQL, yang berarti lebih banyak pengembang dan DBA yang mengenalnya, dan lebih banyak alat pihak ketiga tersedia untuk itu. Dan tentu saja Postgres dan MySQL bukan satu-satunya pilihan database Anda, atau bahkan hanya dua pilihan database open source Anda.
Tutorial Penyesuaian Kinerja PostgreSQL
Tutorial Penyesuaian Kinerja PostgreSQL – Menyiapkan database dengan benar hanyalah langkah pertama dalam penyetelan kinerja PostgreSQL. Dengan setiap tabel yang Anda tambahkan dan setiap kueri yang Anda jalankan, database Anda akan memerlukan pemeliharaan dan pembaruan untuk memastikan pengoptimalan PostgreSQL yang ideal. Optimalisasi PostgreSQL cukup mudah, namun, ada beberapa hal yang perlu diketahui dari Anda, admin database, agar dapat berjalan secara efektif.
Tutorial Penyesuaian Kinerja PostgreSQL

pgsql – Ketika berbicara tentang penyetelan kinerja PostgreSQL pada aplikasi, satu aturan berlaku: jangan optimalkan lebih awal. Mulailah terlebih dahulu dengan mengimplementasikan database dan skema Anda. Kemudian setelah Anda mendapatkan penyiapan optimal, Anda dapat mulai memantau kueri SQL dengan alat seperti Retrace . Ini penting karena penyetelan kinerja PostgreSQL adalah tentang pertukaran.
Baca Juga : Cara Menyebarkan PostgreSQL sebagai Wadah Docker
Anda mungkin menerima kueri yang berjalan lambat di satu bagian aplikasi Anda yang tidak terlalu sering digunakan untuk mendapatkan waktu respons secepat kilat pada kueri yang sering dilakukan. Unduh uji coba Retrace gratis Anda selama dua minggu hari ini.
Hari ini saya akan memandu Anda melalui beberapa optimasi PostgreSQL yang berbeda. Pertama, kita akan membahas beberapa opsi penyiapan dasar yang tersedia:
- Pembaruan perangkat keras —Perubahan yang dapat Anda lakukan pada server fisik
- Konfigurasi —Modifikasi pada konfigurasi PostgreSQL yang siap pakai
- Penyedotan debu —Cara-cara di mana pengaturan penyedot debu dapat meningkatkan kinerja
Setelah sistem Anda disiapkan, kami akan melihat bagaimana Anda dapat menganalisis dan meningkatkan skema Anda:
- Analisis kinerja kueri Anda —Cara menganalisis kueri individual
- Analisis log Anda —Cara mengeluarkan informasi dari sistem Anda untuk dianalisis
- Indeks untuk kinerja kueri —Cara menambahkan indeks membantu database mengoptimalkan rencana kuerinya
Bagian 1: Praktik Terbaik dan Penyiapan
Di bagian pertama artikel ini, kita akan membahas bagaimana Anda dapat mengubah pengaturan dasar Anda untuk kinerja PostgreSQL yang lebih cepat. Di bagian 2, saya akan membahas cara mengoptimalkan spesifikasi sistem Anda, seperti pengoptimalan kueri. Mari kita lakukan!
Meningkatkan perangkat keras PostgreSQL Anda
Tempat yang jelas untuk memulai dalam hal mengoptimalkan kinerja PostgreSQL adalah dengan melihat perangkat keras dari sistem itu sendiri. Beberapa faktor yang paling penting untuk database Anda adalah memori yang tersedia, CPU dan ruang disk, dan kinerja.
Ketika datang ke pembaruan perangkat keras, Anda harus mempertimbangkan hal berikut:
- Memperbarui memori Anda.
Memori adalah apa yang digunakan sistem Anda untuk secara efektif menyimpan data yang sering dibutuhkan. Penting untuk mengingat memori saat Anda mengoptimalkan kueri Anda nanti. Semakin besar cache Anda, semakin sedikit basis data Anda perlu keluar ke disk—yang dapat mengganggu kinerja. PostgreSQL mencoba menyimpan data yang paling sering diakses di memori untuk membuat peningkatan kinerja berdasarkan cara kueri Anda dilakukan dan konfigurasi yang Anda berikan. Tapi kita akan kembali ke pengoptimalan kinerja berbasis memori nanti.
- Memisahkan aplikasi dari database.
Dengan catatan peningkatan memori, jika Anda menjalankan aplikasi database di server yang sama dengan aplikasi Anda, Anda mungkin ingin mempertimbangkan untuk mengisolasinya. Akan sulit untuk benar-benar menganalisis dan meningkatkan kinerja database Anda jika komponen terpisah memengaruhi metrik dan lingkungan Anda.
Konfigurasi basis data: Apa, mengapa, dan bagaimana
PostgreSQL hadir dengan satu set konfigurasi default. Konfigurasi default ini diatur untuk kompatibilitas dan pada dasarnya merupakan tebakan terbaik yang mencoba menyesuaikan semua kemungkinan kasus penggunaan PostgreSQL. Beruntung bagi Anda, itu berarti ada beberapa potensi kemenangan cepat jika Anda mulai mengubah konfigurasi default.
Sebelum kita menyelami dan membahas beberapa pengoptimalan konfigurasi paling umum yang dapat Anda lakukan, ada baiknya menunjukkan bahwa ada beberapa alat penyetelan kinerja PostgreSQL yang tersedia—seperti PGTune — yang mencoba melakukan beberapa kerja keras konfigurasi ini untuk Anda. Efektivitasnya bervariasi, tetapi mungkin ada baiknya bereksperimen dengan delta antara output alat ini dan konfigurasi database Anda saat ini.
Konfigurasi database di PostgreSQL dibuat langsung di file konfigurasi ( postgresql.conf) , atau dengan menjalankan perintah ALTER SYSTEM . Jika Anda ingin melihat semua konfigurasi database Anda sekarang, cukup jalankan perintah SHOW sebagai berikut:
Perintah ini akan mencantumkan semua konfigurasi yang ada dan pengaturannya. Penting juga untuk dicatat bahwa konfigurasi yang berbeda hanya akan berlaku dalam kondisi tertentu, seperti memulai ulang basis data. Beberapa perubahan konfigurasi akan memerlukan restart server; yang lain akan memerlukan pemuatan ulang konfigurasi.
Ketika Anda telah membuat perubahan konfigurasi ke database Anda, Anda bisa melihat detail seperti apakah restart diperlukan untuk pembaruan konfigurasi Anda dengan menjalankan perintah berikut:
SELECT * FROM pg_settings WHERE pending_restart = true ;
Perubahan konfigurasi penyetelan kinerja PostgreSQL
Anda mungkin ingin memodifikasi banyak konfigurasi yang berbeda untuk mendapatkan hasil maksimal dari database PostgreSQL Anda. Mari kita lihat beberapa konfigurasi utama yang dapat Anda ubah untuk mendapatkan lebih banyak kinerja dari sistem Anda.
max_koneksi
Koneksi adalah cara aplikasi Anda berkomunikasi dengan database Anda. Setiap koneksi akan memerlukan beberapa obrolan dan pengaturan komunikasi untuk dibangun. Namun, setelah dibuat, kueri dapat dikirim ke database Anda. Database PostgreSQL Anda akan datang dengan jumlah koneksi default, yang dapat Anda ubah. Anda ingin memastikan bahwa aplikasi Anda tidak terhubung secara tidak perlu, karena hal ini dapat memakan biaya dan dapat memengaruhi kinerja. Alokasi memori dilakukan pada basis per-koneksi, jadi Anda ingin menyeimbangkan antara mengalokasikan memori dan jumlah koneksi.
checkpoint_segments
Pos pemeriksaan adalah tindakan berkala yang menyimpan informasi tentang sistem Anda. Secara default, pos pemeriksaan akan berjalan setelah sejumlah segmen, tetapi tergantung pada sistem Anda, Anda mungkin ingin meningkatkan nilai ini. Kami akan berbicara nanti di artikel tentang bagaimana Anda dapat keluar dari data pos pemeriksaan Anda, tetapi konfigurasi pos pemeriksaan penting karena ini bisa menjadi operasi yang cukup mahal. Konfigurasi default sering dianggap terlalu agresif dan melakukan pos pemeriksaan terlalu sering, jadi Anda mungkin ingin meningkatkan nilai ini untuk membuat pos pemeriksaan lebih jarang.
work_mem
Seperti yang saya sebutkan sebelumnya, alokasi dan manajemen memori adalah bagian besar dari penyetelan kinerja PostgreSQL. Jika sistem Anda melakukan banyak pengurutan kompleks, meningkatkan memori pengurutan dapat membantu database mengoptimalkan konfigurasinya untuk pengaturan Anda. Hal ini memungkinkan PostgreSQL untuk menyimpan lebih banyak data dalam memori saat melakukan penyortiran, dibandingkan dengan membuat panggilan mahal ke disk.
random_page_cost
Pengaturan ini pada dasarnya adalah jumlah waktu yang harus dihabiskan pengoptimal Anda untuk membaca memori sebelum menjangkau disk Anda. Anda harus mengubah setelan ini hanya jika Anda telah melakukan pengoptimalan berbasis rencana lain yang akan segera kami bahas, seperti menyedot debu, mengindeks, atau mengubah kueri dan skema Anda.
Ini hanyalah beberapa pengoptimalan yang dapat Anda lakukan untuk konfigurasi database, tetapi masih banyak lagi . Sekarang setelah Anda tahu cara mengubah pengaturan basis data Anda, mari kita lihat area lain untuk diselidiki: menyedot debu.
Gunakan vacuuming untuk menghindari bloat
Area berikutnya yang kita lihat adalah menyedot debu. Vakum adalah pemindaian yang menandai tupel tidak lagi diperlukan sehingga dapat ditimpa. Kegagalan untuk melakukan ini dapat berarti bahwa Anda memiliki tupel mati yang tertinggal di sistem Anda. Tuple mati ini sering disebut bloat. Bloat sebagian besar berasal dari catatan yang sedang dihapus, diperbarui, atau dimasukkan.
PostgreSQL mengatur penyedotan debu secara default, tetapi sama seperti Anda dapat mengonfigurasi pengaturan lain, Anda juga dapat mengatur pengaturan penyedotan debu. Anda bahkan dapat mengatur pengaturan penyedotan debu pada basis per-tabel untuk pengoptimalan yang lebih halus.
Jika Anda ingin melihat riwayat penyedot debu yang dijalankan sebelumnya, Anda dapat melakukannya dengan menjalankan perintah berikut:
PILIH * DARI pg_stat_user_tables
Secara umum, menyedot debu secara teratur tidak cukup. Penyedotan debu yang lebih sering membuat kembung seminimal mungkin dan memastikan bahwa kinerja basis data tetap tinggi. Meskipun autovacuuming sudah diatur, Anda mungkin ingin mengubah pengaturan menjadi lebih agresif.
Bagian 2: Menganalisis Kinerja PostgreSQL
Konfigurasi sistem di muka akan membatasi peningkatan kinerja PostgreSQL. Meskipun Anda dapat melakukan beberapa konfigurasi di muka, banyak keputusan konfigurasi Anda akan didorong oleh data dan analisis yang Anda miliki tentang sistem Anda. Anda ingin mengoptimalkan cara penyiapannya, mengetahui cara kuerinya, dan mengoptimalkannya berdasarkan kasus penggunaan ini. PostgreSQL dan komunitas memberi kami beberapa alat praktis untuk melakukan pengoptimalan ini.
Perbarui data algoritma Postgres dengan ANALYZE
Sebelum melanjutkan, penting untuk memahami siklus hidup kueri. Siklus hidup adalah apa yang terjadi dari permintaan awal ke database hingga respons yang dikirimnya. PostgreSQL tidak hanya memasukkan tangannya ke dalam kantong besar memori. Saat Anda memiliki banyak data, pengambilan data secara kasar dapat menyebabkan penurunan performa. Jika Anda memindai database Anda secara berurutan (sering disebut pemindaian tabel) untuk data Anda, kinerja Anda akan diskalakan secara linier— lebih banyak baris, kinerja lebih lambat. Tapi kita bisa melakukan lebih baik dari itu.
Jadi apa siklus hidup kueri? Awalnya, ada transmisi string kueri ke PostgreSQL. String kueri kemudian diuraikan dan rencana dibuat. Rencana sangat penting. Rencana adalah langkah-langkah yang akan diambil PostgreSQL untuk menemukan data yang diminta. Bagaimana Anda mengatur konfigurasi database Anda, skema Anda, dan indeks Anda (lebih lanjut tentang indeks segera) semua akan mempengaruhi seberapa kinerja rencana ini. Jadi, penting bagi kita untuk memahami rencana dan cara mengoptimalkannya. Akhirnya, database akan melakukan rencana dan mengambil data.
Perbedaan dapat terjadi antara paket database yang ingin digunakan PostgreSQL untuk mendapatkan data Anda dan cara sebenarnya mengambil data Anda. Ini karena PostgreSQL mendasarkan rencananya pada metrik dan statistik yang jarang diperbarui. Beberapa data harus dimutakhirkan secara berkala agar statistik yang digunakan untuk rencana tetap mutakhir.
Di sinilah ANALYZE masuk. Menjalankan perintah ANALYZE memperbarui statistik ini sehingga Postgres memiliki kumpulan data baru tentang cara membuat rencananya. Jadi, jika Anda memperbarui tabel atau skema atau menambahkan indeks, ingatlah untuk menjalankan perintah ANALYZE setelahnya sehingga perubahan akan diterapkan.
Sangat memahami kinerja kueri Anda
Salah satu area jelas berikutnya yang harus dituju adalah pengoptimalan kueri. Kueri yang Anda jalankan mungkin tidak efisien karena berbagai alasan, jadi kami memerlukan cara untuk memahami apa yang terjadi dengan kueri ini—di situlah perintah EXPLAIN masuk.
EXPLAIN memberi Anda perincian yang tepat tentang bagaimana PostgreSQL akan mengeksekusi kueri Anda. Rencana tersebut didasarkan pada statistik tentang tabel, dan ini memperhitungkan hal-hal seperti indeks basis data untuk menemukan jalur paling efisien ke data Anda. Tapi EXPLAIN hanya akan menebak dan memberi Anda rencana yang menurutnya akan dijalankan. Anda dapat menjalankan EXPLAIN ANALYZE untuk mendapatkan tidak hanya informasi tentang rencana yang diprediksi, tetapi juga pembaruan tentang kinerja kueri.
Saat Anda memiliki rencana yang coba dijalankan oleh database, Anda dapat mulai menganalisisnya. Beberapa alat ada untuk membuat hidup lebih mudah, seperti PEV, yang memungkinkan Anda untuk memvisualisasikan dan memahami output dari perintah EXPLAIN Anda.
Log sebagai sumber data penyetelan kinerja PostgreSQL berkualitas tinggi
Mari kita asumsikan bahwa Anda memiliki database yang berjalan dan Anda ingin men-debug kinerja yang lambat dalam aplikasi. Salah satu cara Anda ingin melakukan ini adalah melalui log. Log adalah pernyataan informasi singkat yang ditinggalkan aplikasi saat melakukan suatu tindakan. Anda kemudian dapat mengumpulkan tindakan ini dan menganalisisnya dalam alat manajemen log seperti Retrace untuk mendapatkan gambaran tentang bagaimana sistem berperilaku.
Secara default, aplikasi Anda tidak mencatat semua data. Ini karena peningkatan logging juga berpengaruh pada kinerja database. Jadi, sementara kita membahas bagaimana Anda dapat mengubah pengaturan log untuk menganalisis kinerja , ingatlah bahwa pengaturan log itu sendiri sebenarnya dapat memengaruhi kinerja.
Log dipancarkan ke file di sistem Anda, tergantung pada konfigurasi Anda. Ketika Anda telah menemukan di mana log Anda berada, Anda dapat menggunakan alat seperti Retrace untuk menganalisis log ini. Retrace akan memberi tahu Anda statistik seperti kueri yang paling sering dijalankan, berapa lama rata-rata kueri, dan seterusnya. Metrik agregat ini dapat memberi Anda pemahaman yang lebih baik tentang di mana Anda mungkin mengalami kemacetan kinerja dalam sistem Anda.
Jadi, sekarang setelah kita melihat betapa hebatnya log untuk memahami kinerja sistem, bagaimana kita mengaturnya atau mengubahnya?
log_line_prefix
Ini adalah format log database Anda. Untuk alat seperti PGBadger, mereka membutuhkan data yang kaya dan juga perlu mengetahui format data. Awalan baris log Anda memberi tahu PostgreSQL format apa untuk mengeluarkan data lognya. Jika Anda ingin melakukan analisis log yang berarti, Anda harus menyetel nilai ini agar kompatibel dengan alat yang Anda gunakan untuk menganalisis log Anda.
log_pernyataan
Ini adalah level logging yang Anda operasikan. Level log biasanya mengacu pada level detail yang Anda inginkan di log Anda. Misalnya, apakah Anda benar-benar menginginkan semua log, atau hanya log dari jenis kritis tertentu? log_statement memiliki beberapa pengaturan yang berbeda, termasuk:
- ddl , yang hanya mencatat perubahan struktural ke database
- mod , yang mencatat modifikasi ke data yang ada (pada dasarnya semuanya kecuali SELECT)
- semua , yang mencatat … semuanya
log_checkpoints
Seperti yang telah kita bahas di pengaturan konfigurasi, pos pemeriksaan di PostgreSQL adalah tindakan berkala yang menyimpan data tentang sistem Anda. Pos pemeriksaan log ini, jika berlebihan, dapat menyebabkan penurunan kinerja. Jika Anda menduga hal ini mungkin terjadi, dengan mengaktifkan pos pemeriksaan log, Anda akan dapat melihat banyak data tentang pos pemeriksaan tersebut, seperti seberapa sering pos pemeriksaan tersebut berjalan dan apa yang dapat memicunya.
logging_connection
Anda juga mungkin ingin mengetahui informasi tentang koneksi. Jika Anda hanya memiliki satu aplikasi yang terhubung ke database Anda, tetapi Anda melihat banyak koneksi bersamaan, mungkin ada sesuatu yang salah. Terlalu banyak koneksi yang membanjiri database Anda juga dapat berarti bahwa permintaan gagal mencapai database dan dapat memengaruhi pengguna akhir aplikasi Anda.
Cara Menyebarkan PostgreSQL sebagai Wadah Docker
Cara Menyebarkan PostgreSQL sebagai Wadah Docker – PostgreSQL, juga disebut sebagai Postgres, adalah sistem basis data relasional objek terkemuka. Ini populer karena tingkat kepatuhannya yang tinggi terhadap standar SQL dan penyertaan fitur tambahan yang menyederhanakan bekerja dengan kumpulan data kompleks dalam skala besar.
Cara Menyebarkan PostgreSQL sebagai Wadah Docker

pgsql – PostgreSQL menggunakan arsitektur client-server tradisional sehingga Anda perlu menjalankannya secara independen dari kode aplikasi Anda. Dalam panduan ini, Anda akan menerapkan instance server PostgreSQL sebagai container Docker. Ini menghindari penambahan paket ke mesin host Anda dan membantu mengisolasi database Anda dari bagian lain dari tumpukan Anda. Pastikan Anda telah menginstal Docker sebelum melanjutkan.
Baca Juga : PostgreSQL vs. MySQL: 9 kriteria utama untuk mendorong keputusan database Anda
Mulai
PostgreSQL memiliki gambar resmi di Docker Hub yang tersedia dalam beberapa varian berbeda. Tag memungkinkan Anda memilih antara versi PostgreSQL utama dari v9 hingga v14 dan memilih sistem operasi yang digunakan sebagai gambar dasar. Alpine, Debian Stretch, dan Debian Bullseye ditawarkan. Untuk keperluan tutorial ini, kita akan menggunakan postgres:14tag yang menyediakan PostgreSQL 14 di atas Bullseye. Anda bebas memilih versi lain yang sesuai dengan kebutuhan Anda.
Anda harus memberikan nilai untuk POSTGRES_PASSWORDvariabel lingkungan. Ini mendefinisikan kata sandi yang akan diberikan ke akun pengguna super default Postgres. Nama pengguna default postgrestetapi dapat diubah dengan mengatur POSTGRES_USERvariabel lingkungan.
Bendera -vdigunakan untuk memasang volume Docker ke direktori data wadah PostgreSQL. Volume bernama disebut postgresdireferensikan; Docker akan membuatnya atau memasang kembali volume jika sudah ada. Anda harus menggunakan volume untuk menyimpan database Anda di luar wadah. Tanpanya, Anda akan menggunakan data Anda saat penampung berhenti.
PostgreSQL mendengarkan pada port 5432 secara default. Port container terikat ke port 5432 pada host Docker Anda dengan -pflag . Bendera -ddigunakan untuk memulai penampung dalam mode terpisah, secara efektif menjadikannya layanan latar belakang yang terus berjalan hingga dihentikan dengan docker stop.
Menyediakan Kata Sandi sebagai File
Jika Anda tidak nyaman memberikan kata sandi pengguna super Anda sebagai tanda CLI teks biasa, Anda dapat menyuntikkannya sebagai file melalui volume sebagai gantinya. Anda kemudian harus mengatur POSTGRES_PASSWORD_FILEvariabel lingkungan untuk memberikan Postgres jalur ke file itu.
Menghubungkan ke Basis Data Anda
Karena PostgreSQL terikat ke port 5432 di atas, Anda dapat terhubung ke database Anda localhost:5432dari klien mana pun yang kompatibel. Gunakan kredensial yang Anda tetapkan sebagai variabel lingkungan saat memulai penampung. Gambar Docker juga menyertakan psqlbiner yang dapat Anda panggil dengandocker exec . Gunakan ini untuk berinteraksi dengan cepat dengan database Anda dari shell PostgreSQL di dalam wadah.
Menghubungkan Dari Kontainer Docker Lainnya
Membuat jaringan Docker adalah cara yang lebih disukai untuk mengakses PostgreSQL dari wadah lain di host yang sama. Ini menghindari pengikatan port server Postgres dan berpotensi mengekspos layanan ke jaringan host Anda yang lebih luas.
Menyemai Database
Gambar Docker mendukung file benih yang ditempatkan ke dalam /docker-entrypoint-initdb.ddirektori. Setiap .sqlatau .sql.gzfile akan dieksekusi untuk menginisialisasi database. Ini terjadi setelah akun pengguna dan postgresdatabase default dibuat. Anda juga dapat menambahkan .shfile untuk menjalankan skrip shell arbitrer. Semua skrip dieksekusi dalam urutan abjad. Mekanisme ini berarti semua yang Anda butuhkan untuk seed database Anda adalah satu set SQL atau skrip shell yang dinamai dalam urutan yang benar. Pasang ini ke wadah baru Anda menggunakan -vbendera dengan docker run.
Membuat Gambar Database Kustom
Anda dapat memilih untuk mengenkapsulasi file konfigurasi dan skrip inisialisasi dalam gambar Docker Anda sendiri. Ini akan memungkinkan siapa pun yang memiliki akses ke gambar untuk membuat instance PostgreSQL baru yang telah dikonfigurasikan sebelumnya untuk aplikasi Anda. Inilah Dockerfile sederhana yang dapat Anda gunakan.
Haruskah Anda Menampung Basis Data Produksi Anda?
Mungkin sulit untuk memutuskan apakah akan menjalankan database di Docker . Containerizing PostgreSQL membuat pengalaman penyiapan lebih mudah tetapi terkadang lebih menantang untuk dipelihara. Anda perlu berhati-hati saat mengelola wadah Anda untuk menghindari kehilangan data di masa mendatang. Docker juga menambahkan overhead kinerja sederhana yang layak dipertimbangkan ketika Anda mengantisipasi database tur akan bekerja dengan volume data yang sangat besar. Manfaat Docker adalah peningkatan portabilitas, kemudahan penskalaan, dan efisiensi pengembang. Menampung database Anda memungkinkan siapa pun menjalankan instance baru menggunakan Docker, tanpa menginstal dan mengonfigurasi PostgreSQL secara manual terlebih dahulu. Oleh karena itu, menulis Dockerfile untuk database PostgreSQL Anda yang menambahkan file konfigurasi dan skrip seed SQL adalah cara yang baik untuk membantu pengembang memulai lingkungan baru dengan cepat.
Ringkasan
PostgreSQL adalah mesin database berbasis SQL canggih yang menambahkan kemampuan relasional objek. Meskipun Anda dapat memilih untuk menjalankan penerapan tradisional dalam produksi, menggunakan instans dalam container menyederhanakan penyiapan dan membantu pengembang dengan cepat menjalankan infrastruktur mereka sendiri. Aspek terpenting dari penerapan Dockerized adalah memastikan Anda menggunakan volume untuk menyimpan data Anda. Ini akan memungkinkan Anda untuk menghentikan, mengganti, dan memperbarui penampung Anda ke versi gambar yang lebih baru tanpa kehilangan database Anda. Di luar penyimpanan, Anda harus menilai bagaimana Anda akan terhubung ke Postgres dan menghindari mengikat port ke host Anda kecuali diperlukan. Saat menghubungkan dari wadah lain, yang terbaik adalah menggunakan jaringan Docker bersama untuk memfasilitasi akses.
PostgreSQL vs. MySQL: 9 kriteria utama untuk mendorong keputusan database Anda
PostgreSQL vs. MySQL: 9 kriteria utama untuk mendorong keputusan database Anda – PostgreSQL dan MySQL adalah dua database paling populer yang muncul dari komunitas open source. PostgreSQL adalah open source yang sangat skalabel, sistem manajemen basis data relasional objek (RDBMS) yang dirancang untuk menangani berbagai operasi dan berkinerja baik dengan kumpulan data yang kompleks.
PostgreSQL vs. MySQL: 9 kriteria utama untuk mendorong keputusan database Anda

pgsql – MySQL, yang hadir dalam versi open source dan proprietary, unggul dalam operasi read-heavy, dan menyediakan dukungan untuk beberapa mesin penyimpanan. Kedua sistem tersebut memiliki kelebihannya masing-masing. Manakah pilihan yang lebih baik untuk organisasi Anda? Jawabannya tergantung pada kebutuhan dan tujuan spesifik Anda. Mari kita bandingkan PostgreSQL dan MySQL dalam kinerja, arsitektur, skalabilitas, dan area lainnya.
Baca Juga : Python dan PostgreSQL: Cara Mengakses Database PostgreSQL Seperti Ilmuwan Data
Arsitektur
Perbedaan utama antara PostgreSQL dan MySQL terletak pada arsitektur masing-masing database. PostgreSQL adalah sistem manajemen basis data relasional objek yang menekankan ekstensibilitas dengan integrasi sumber dan ekstensi data baru yang mudah. MySQL adalah database relasional konvensional yang tidak memberikan tingkat dukungan yang kuat untuk fitur baru, ekstensi, dan integrasi sumber data seperti PostgreSQL.
Proses tunggal vs. multiproses
Perbedaan signifikan lainnya berkisar pada cara setiap database berjalan di server: PostgreSQL menggunakan banyak proses, sedangkan MySQL berjalan dalam satu proses. PostgreSQL memulai proses baru dengan alokasi memorinya sendiri untuk setiap koneksi yang dibuatnya, sehingga memerlukan banyak memori pada sistem dengan jumlah koneksi klien yang tinggi. MySQL menggunakan satu proses dan memelihara satu utas (atau jalur eksekusi) per koneksi, yang menghasilkan lebih sedikit tekanan memori. Perbedaan tekanan memori ini menjadi semakin penting saat menggunakan PostgreSQL dan MySQL dalam skala besar. Penghitungan kinerja sistem dengan skala menggunakan PostgreSQL akan membutuhkan perencanaan kapasitas yang lebih besar dibandingkan dengan MySQL.
Dukungan mesin penyimpanan
Database menggunakan mesin penyimpanan untuk membaca, menulis, dan memodifikasi data. Mesin penyimpanan default MySQL adalah InnoDB, yang menekankan kepatuhan ACID dan kinerja tinggi. MySQL mendukung delapan mesin penyimpanan alternatif:
- MyISAM : MyISAM adalah mesin penyimpanan cepat yang dioptimalkan untuk digunakan dalam aplikasi yang banyak membaca.
- MEMORY : Mesin MEMORY digunakan untuk tabel sementara atau area pementasan yang melakukan operasi data nonkritis seperti caching dan manajemen sesi sementara.
- CSV : Karena mesin CSV menyimpan data sebagai file teks nilai yang dipisahkan karakter atau koma, paling baik digunakan saat data perlu dibagikan dengan aplikasi berformat CSV lainnya.
- ARCHIVE : Tujuan mesin ARCHIVE adalah untuk menulis dan mengarsipkan data.
- BLACKHOLE : BLACKHOLE tidak menyimpan data apa pun yang diterimanya.
- MERGE : Mesin MERGE memungkinkan pengembang menggabungkan versi tabel MyISAM yang identik dan memperlakukannya sebagai satu kesatuan, yang dapat berguna untuk pelaporan.
- CONTOH : Mesin penyimpanan ini adalah template tanpa fungsi bawaan yang menunjukkan kepada pengembang cara membuat mesin penyimpanan pelanggan baru.
- NDB Cluster : Mesin penyimpanan NDB Cluster adalah pilihan terbaik saat bekerja dengan lingkungan cluster untuk redundansi tinggi dan komputasi terdistribusi.
- FEDERATED : Mesin penyimpanan FEDERATED memungkinkan database membuat satu database logis dari banyak server fisik, dan menjalankan kueri pada tabel jarak jauh.
Pengembang MySQL dapat menentukan per tabel mesin penyimpanan apa yang akan digunakan. PostgreSQL hanya mendukung satu mesin penyimpanan, tetapi sedang mengembangkan mesin baru bernama zheap yang dirancang untuk memungkinkan pembaruan di tempat dan memungkinkan penggunaan kembali ruang, untuk membantu mengontrol pengasapan basis data.
Pertunjukan
PostgreSQL dan MySQL cenderung menunjukkan karakteristik kinerja terbaik mereka dalam kondisi yang berbeda. PostgreSQL menawarkan kecepatan tinggi untuk membaca dan menulis. Ini memberikan konkurensi tanpa kunci baca/tulis, yang memungkinkan PostgreSQL untuk memproses dan menyesuaikan beberapa utas baca dan tulis secara bersamaan. Secara keseluruhan, skalabilitas dan kinerja tinggi PostgreSQL membuatnya berharga dalam proyek database yang besar dan rumit di mana kecepatan baca dan tulis yang tinggi sangat penting. Jika dirancang dengan benar, PostgreSQL tidak memiliki banyak batasan kinerja.
MySQL unggul dalam aplikasi berbasis web karena berkinerja baik dalam situasi yang membutuhkan kecepatan baca tinggi. Karena MySQL cenderung memiliki masalah kinerja saat menangani kueri yang rumit, MySQL lebih cocok untuk situasi konkurensi tinggi di mana pekerjaannya bersifat membaca intensif. MySQL juga bermanfaat bila digunakan dengan aplikasi intelijen bisnis , yang membutuhkan lebih banyak membaca daripada menulis. Namun, database tidak ideal sebagai platform untuk BI atau analitik data karena tidak memiliki penyimpanan data berbentuk kolom , arsitektur penyimpanan yang memungkinkan kueri analitik yang efisien.
Keamanan
Baik PostgreSQL dan MySQL menggunakan daftar kontrol akses (ACL) untuk izin pengguna untuk database, skema, dan tabel. Keduanya mendukung enkripsi full-disk, file-based, table-level, column-level, dan instance-level untuk data saat istirahat. Untuk data yang bergerak, PostgreSQL menawarkan dukungan SSL asli untuk mengenkripsi komunikasi antar server melalui koneksi yang berbeda, sementara MySQL menggunakan TLS, yang diklaim menyediakan algoritme enkripsi yang lebih kuat.
Kesesuaian standar SQL
American National Standards Institute (ANSI) memelihara standar bahasa SQL, dan memperbaruinya setiap beberapa tahun. Standar saat ini adalah SQL:2016, dan menetapkan fungsi dan sintaks yang harus disediakan oleh setiap dialek SQL. Tidak ada versi SQL yang 100% standar ANSI, tetapi beberapa lebih dekat daripada yang lain. Semakin dekat database mengikuti standar SQL, semakin mudah bagi pengembang yang akrab dengan DBMS lain untuk menjadi mahir di dalamnya. PostgreSQL sebagian besar sesuai dengan SQL . Dari 179 fitur wajib, PostgreSQL memenuhi 160. MySQL hanya sebagian sesuai . Pengembang di Oracle, yang memiliki MySQL, bekerja menuju tujuan kepatuhan SQL penuh.
Dukungan bahasa pemrograman
Jumlah bahasa yang didukung setiap basis data memengaruhi cara pengembang dapat menggunakannya. PostgreSQL ditulis dalam C dan menyediakan antarmuka pemrograman untuk C/C++, Python, JavaScript, R, Delphi, Java, Tcl, Go, Lisp, Erlang, dan .Net. MySQL ditulis dalam C dan C++, dan menyediakan API untuk C/C++, R, Delphi, Java, Go, Lisp, Erlang, PHP, Perl, dan Node.js.
Replikasi
Replikasi adalah proses menyalin data dari satu komputer atau server ke yang lain, atau menulis data ke beberapa server secara bersamaan. PostgreSQL dan MySQL menangani proses ini secara berbeda. PostgreSQL dapat melakukan replikasi asinkron, kaskade, dan sinkron, tergantung pada kasus penggunaan yang diperlukan. Replikasi asinkron memungkinkan pengguna membuat salinan hanya-baca dari database master untuk membuat pencadangan yang gagal dan mendistribusikan beban kerja. Replikasi kaskade memungkinkan database master untuk mereplikasi ke beberapa database budak. Dengan replikasi sinkron, data yang ditulis ke database master disalin secara otomatis ke database slave dan semua instans melakukan transaksi secara bersamaan, yang mengurangi risiko kehilangan komit.
PostgreSQL juga menawarkan master tunggal ke satu siaga, master tunggal ke beberapa siaga, replikasi dua arah, dan replikasi log streaming logis. MySQL mengandalkan replikasi asinkron satu arah untuk menyalin data antar database. Ini juga mendukung instans master tunggal dan beberapa instans slave, replikasi melingkar, dan replikasi master-ke-master. Replikasi mungkin melibatkan data dari satu tabel, data hanya dari database tertentu, atau data dari semua database yang tersedia.
Toleransi kesalahan
Clustering adalah proses yang menggunakan penyimpanan bersama untuk mereplikasi kumpulan data yang sama ke semua node dalam suatu lingkungan. Tujuan utama menggunakan pengelompokan adalah untuk memastikan toleransi kesalahan, kemampuan database untuk terus menyediakan layanan tanpa gangguan jika terjadi kegagalan dalam sistem. Baik PostgreSQL dan MySQL mendukung replikasi dan pengelompokan untuk memastikan ketersediaan tinggi dan toleransi kesalahan. Secara khusus, PostgreSQL mendukung replikasi sinkron atau streaming serta Postgres-XL — lingkungan pengelompokan basis data. MySQL mendukung replikasi semisinkron dan sinkron dalam lingkungan pengelompokan serta MySQL Cluster — teknologi multimaster yang berfokus pada penskalaan linier.
Dukungan komunitas
Baik PostgreSQL dan MySQL membanggakan komunitas aktif dan berkembang yang memberikan dukungan kepada pengguna dan pengembang. Sejumlah organisasi pihak ketiga juga menyediakan layanan profesional berbayar untuk kedua database. PostgreSQL menyediakan dukungan pengguna melalui dokumentasi teknis dan manual, milis, halaman wiki khusus, dan saluran IRC dan Slack. Demikian pula, MySQL menawarkan dukungan komunitas melalui saluran IRC, forum, milis, dokumentasi dan manual, tutorial, dan database bug gratis untuk semua. Pengguna MySQL dengan versi database berbayar memiliki akses ke konsultasi gratis dan dukungan 24/7.
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.
Bagaimana Cara Memulai Data Spasial di PostgreSQL
Bagaimana Cara Memulai Data Spasial di PostgreSQL – Artikel ini merinci apa itu basis data spasial dan POIN tipe data yang didukung oleh PostgreSQL untuk melakukan analisis geodata. Dalam artikel sebelumnya, Menginstal dan Memutakhirkan PostgreSQL untuk Mendukung Data Spasial, cara menginstal database PostgreSQL di Mac Anda dan cara mengaktifkan ekstensi PostGIS yang memungkinkan Anda mengisi database dengan data spasial atau geografis. Ditampilkan jika Anda dapat memasukkan kueri spasial . Dan itu akan dieksekusi.
Bagaimana Cara Memulai Data Spasial di PostgreSQL

pgsql – Anda juga dapat mengikuti langkah yang sama seperti untuk mengunduh ekstensi PostGIS dan menginstalnya di komputer Windows Anda. Kami sangat menyarankan Anda terlebih dahulu mengikuti tutorial Preferensi dan kemudian melanjutkan dengan artikel ini. Setelah Anda berhasil menginstal database PostgreSQL dan mengaktifkan ekstensi PostGIS, Anda dapat mengikuti artikel ini untuk mempelajari lebih lanjut tentang berbagai tipe data spasial yang terkait dengan PostGIS.
Baca Juga : Memulai Data Spasial di PostgreSQL
PostGIS adalah pustaka tambahan yang dapat diinstal pada instance database PostgreSQL yang ada. PostGIS menambahkan fitur khusus yang memungkinkan Anda bekerja dengan data geografis di database PostgreSQL. Jika Anda ingin gambaran yang jelas tentang ekstensi PostGIS dan cara kerjanya, kami sarankan Anda merujuk ke dokumentasi PostGIS resmi. Analisis Spasial Geografis dan Mengapa Diperlukan Sebelum mendalami seni memanipulasi data spasial, mari kita pahami dulu apa itu analisis data spasial dan mengapa dibutuhkan. Secara sederhana, studi tentang pola, anomali, dan teori data spasial atau geografis dikenal sebagai analisis data spasial. Ini adalah versi lanjutan dari analisis data yang berfokus pada data geografis daripada data biasa. Oleh karena itu, ada seperangkat alat dan metode khusus yang mencakup analisis data geografis tersebut. Berikut adalah contoh analisis spasial:
- Berapa jauh Lokasi A dari Lokasi B?
- Apakah halte bus berjarak 500 meter dari lokasi X?
- Apa rute terbaik dari Situs X ke Situs Y?
Untuk menjawab pertanyaan-pertanyaan ini, Anda memerlukan seperangkat fungsi khusus dalam database Anda. Fitur-fitur ini dirancang untuk memproses data geografis dan memberikan jawaban yang sebenarnya Anda cari. Di PostgreSQL, fungsi-fungsi ini itu juga bisa disediakan dalam jumlah bentuk ekstensi yang biasanya itu disebut PostGIS. Artikel ini hanyalah gambaran umum tentang tipe data POINT dasar yang menyimpan data dalam database. Melakukan analisis spasial pada data tersebut berada di luar cakupan artikel ini dan akan dijelaskan di masa mendatang.
Komponen Tipe Data Spasial PostgreSQL
Untuk bekerja dengan data geografis, database menggunakan tipe data khusus. Ada beberapa tipe data yang mengolah data geografis seperti titik, garis, dan poligon. Dalam artikel ini, kita akan melihat secara khusus tipe data POINT untuk memahami cara membuat dan memanipulasinya. Sebelum melanjutkan, mari perbarui juga pengetahuan kita tentang menafsirkan data geografis dunia nyata. Saat melihat permukaan bumi pada permukaan yang datar, garis lintang dan garis bujur digunakan untuk mewakili lokasi yang tepat dari suatu lokasi di permukaan itu.
Tipe data POINT
Titik adalah perpotongan garis bujur dan garis lintang. Kombinasi garis lintang dan garis bujur memungkinkan Anda menemukan lokasi mana pun di peta. Di PostgreSQL, titik adalah tipe data geometri yang menyimpan data dalam tipe data geometri. Sebagai contoh, perhatikan koordinat London berikut pada garis lintang 51.501220 dan garis bujur –0.138702. Perhatikan awalan garis bujur dan garis lintang di sebelahnya. Dalam hal ini, keduanya dipisahkan oleh spasi. Di PostGIS ini dikenal sebagai Teks Terkenal atau WKT. Namun, ini hanya data tekstual, dan Anda dapat menggunakan fungsi spasial ST_GeomFromText (teks WKT, integer SRID) untuk mengubahnya menjadi objek geografis dan memuatnya ke dalam database. Format ini menyediakan koordinat sebagai teks dan ID referensi spasial sebagai parameter kedua. SRID adalah ID referensi spasial yang menginformasikan mesin PostGIS tentang format data. Namun, SRID memiliki banyak nilai yang berada di luar cakupan artikel ini. Dalam contoh ini, pertimbangkan SRID sebagai 4326. Oleh karena itu, representasi akhir dari tipe data titik dapat ditulis sebagai:
Kesimpulan
Pada artikel ini, Anda memahami apa itu data spasial dan bagaimana cara menyimpannya dalam database PostgreSQL. Kami juga mempertimbangkan tipe data spasial POINT yang terkait dengan PostGIS dan kepentingannya. Poin adalah blok dasar untuk memanipulasi data spasial. Anda dapat menggunakan kombinasi titik untuk membuat objek geografis lain seperti garis dan poligon. Kami akan membahas ini secara lebih rinci di artikel mendatang.
Memulai Data Spasial di PostgreSQL
Memulai Data Spasial di PostgreSQL – Pada artikel ini, kita akan membahas secara rinci apa itu basis data spasial dan tipe datanya, POINT yang didukung oleh PostgreSQL untuk melakukan analisis data geografis. Dalam artikel saya sebelumnya, Instal dan perbarui PostgreSQL untuk mendukung Data Spasial , saya telah menunjukkan cara menginstal database PostgreSQL di Mac dan cara mengaktifkan ekstensi PostGIS menggunakan data spasial atau geografis mana yang dapat dimasukkan ke dalam database dan kueri spasial dapat dimasukkan dieksekusi.
Memulai Data Spasial di PostgreSQL

www.pgsql.com – Anda juga dapat mengunduh dan menginstal ekstensi PostGIS pada mesin Windows dengan mengikuti langkah-langkah serupa. Sangat disarankan agar Anda mengikuti tutorial untuk mengatur lingkungan terlebih dahulu dan kemudian melanjutkan artikel ini lebih lanjut. Setelah Anda menginstal database PostgreSQL dengan benar dan mengaktifkan ekstensi PostGIS, Anda dapat mengikuti artikel ini untuk memahami lebih lanjut tentang berbagai tipe data spasial yang terkait dengan PostGIS.
Baca Juga : Memulai Dengan PostgreSQL
PostGIS adalah pustaka tambahan yang dapat diinstal ke instance database PostgreSQL yang sudah ada. PostGIS akan menambahkan fungsi khusus yang memungkinkan kita bekerja dengan data geografis dalam database PostgreSQL. Jika Anda ingin memiliki gambaran deskriptif tentang ekstensi PostGIS dan cara kerjanya, saya sarankan Anda melihat dokumentasi resmi untuk PostGIS .
Analisis Data Spasial dan Mengapa Diperlukan?
Sebelum menyelam jauh ke dalam hal teknis bekerja dengan Data Spasial, mari kita pahami dulu apa itu analisis data spasial dan mengapa itu diperlukan. Secara sederhana, studi tentang pola, anomali, dan teori dalam data spasial atau geografis disebut Analisis Data Spasial. Ini adalah versi analisis data yang diperluas di mana fokusnya adalah pada data geografis daripada data normal. Dengan demikian, ada seperangkat alat dan metodologi khusus yang melibatkan analisis data geografis semacam itu. Beberapa contoh Analisis Spasial tersebut adalah sebagai berikut.
- Berapa jauh Lokasi A dari Lokasi B?
- Apa halte bus dalam jarak 500 meter dari Lokasi X?
- Apa rute terbaik dari Lokasi X ke Lokasi Y?
Untuk menjawab pertanyaan-pertanyaan ini, kita memerlukan seperangkat fungsi khusus di dalam database. Fungsi-fungsi ini dirancang untuk bekerja dengan data geografis dan memberi kami jawaban yang sebenarnya kami cari. Di PostgreSQL, fungsi-fungsi ini dapat disediakan dalam bentuk ekstensi yang dikenal sebagai PostGIS. Artikel ini hanyalah pengantar tipe data dasar, POINT, di mana data disimpan dalam database. Melakukan analisis spasial dengan data tersebut berada di luar cakupan artikel ini dan akan dibahas di masa mendatang.
Komponen Tipe Data Spasial di PostgreSQL
Untuk bekerja dengan data geografis, database menggunakan tipe data khusus. Ada beberapa tipe data yang berhubungan dengan data geografis seperti titik, garis, poligon, dll. Pada artikel ini, kita akan secara khusus melihat tipe data POINT dan memahami cara membuat dan bekerja dengannya. Sebelum melangkah lebih jauh, mari kita sikat juga pengetahuan kita tentang bagaimana menafsirkan data geografis di dunia nyata. Jika kita mempertimbangkan permukaan bumi pada bidang datar, garis lintang dan bujur digunakan untuk menggambarkan posisi yang tepat dari suatu lokasi di permukaan itu.
Kesimpulan
Pada artikel ini, kita telah memahami apa itu data spasial dan bagaimana data tersebut dapat disimpan dalam database PostgreSQL. Kami juga telah mempelajari tipe data spasial POINT yang terkait dengan PostGIS dan signifikansinya. Poin adalah blok dasar untuk bekerja dengan data spasial apa pun. Kombinasi titik dapat digunakan untuk membuat objek geografis lain seperti garis atau poligon dll. Kita akan mempelajari lebih lanjut tentang ini di artikel mendatang.
Memulai Dengan PostgreSQL
Memulai Dengan PostgreSQL – Ada berbagai jenis database di luar sana dan mereka ditulis dalam banyak bahasa. Database Relasional mahir menyimpan data dalam tabel dengan skema kaku yang terkait satu sama lain melalui kolom umum, seperti id yang berhubungan dengan informasi hanya untuk satu record.
Memulai Dengan PostgreSQL

pgsql.com – Skema kaku berarti bahwa setiap record harus memiliki informasi yang sama dan setiap kolom hanya dapat berisi tipe data tertentu yang sama. Basis Data Non Relasional, seperti MongoDB , sangat cocok untuk menyimpan data yang tidak memiliki skema kaku atau bentuk yang ditentukan, seperti log obrolan yang tidak pernah berakhir.
Baca Juga : Perbedaan Antara SQL Server dan PostgreSQL
Setelah Anda memutuskan jenis database yang Anda butuhkan, Anda dapat melanjutkan ke pemilihan sistem manajemen database. PostgreSQL adalah sistem yang memanfaatkan Structured Query Language (SQL). Ini populer karena open-source dan dapat diadaptasi untuk berbagai tujuan. Anda dapat berinteraksi dengan PostgreSQL menggunakan sejumlah Antarmuka Pengguna Grafis (GUI) berbayar dan gratis atau baris perintah dan terminal.
Pengaturan PostgreSQL
Menginstal dan menginisialisasi PostgreSQL sangatlah mudah. Saya menggunakan Mac, petunjuk untuk menginstal di windows dapat ditemukan di sini . Saya mengikuti langkah-langkah yang digariskan oleh Nelson dari freeCodeCamp.org dalam videonya di sini . Langkah-langkah Mac adalah:
Pergi ke postgresapp.com
Arahkan ke halaman unduh dan pilih salah satu opsi. Saya memilih opsi kedua (di bawah bagian “Rilis Tambahan”) karena ini mencakup versi saat ini serta beberapa versi sebelumnya. Saat ini PostgreSQL versi 10, 11 dan 12 hadir dengan paket ini. Bagian “Rilis Terbaru” hanya mencakup kemampuan untuk bekerja dengan PostgreSQL 12 pada saat penulisan ini. Setelah file diunduh dan di aplikasi Anda, Anda dapat membuka program.
Di jendela aplikasi, Anda dapat mengeklik ikon bilah sisi untuk melihat berbagai basis data yang tersedia berdasarkan lokasi server dan Anda juga dapat menambahkan (+) atau menghapus (-) server yang terdaftar.
Setelah Anda mengklik inisialisasi, Anda akan memiliki opsi untuk memulai dan menghentikan aplikasi PostgreSQL. Tiga database default pada mesin lokal Anda terdaftar di jendela; satu dengan nama pengguna Anda, “postgres,” dan “template1”.
Anda dapat memilih untuk berinteraksi dengan database Postgres dengan GUI atau baris perintah/terminal. Kisaran harga dan fitur GUI yang tersedia, namun ketika Anda bekerja dengan server jarak jauh, kemungkinan besar Anda akan menggunakan terminal (Mac) atau baris perintah (Windows). Jika Anda perlu keluar dari shell yang dapat Anda ketik \q, Anda dapat masuk kembali ke shell dengan mengetikkan perintah panjang di atas atau pintasan yang ditentukan. Ketika Anda bekerja dengan terminal Anda harus tahu apakah Anda berada di lingkungan dasar Anda computer_name:~ user_name$atau shell Postgres default_database=#. Aplikasi Postgres (di atas) harus berjalan untuk masuk ke shell.
Menghubungkan Ke Database
Dengan Aplikasi Postgres dan terminal dasar terbuka, Anda memiliki kemampuan untuk mengakses data server jarak jauh atau lokal, jika Anda memiliki izin yang sesuai. Empat bagian dari perintah ini adalah -huntuk host, -puntuk port, -Uuntuk nama pengguna, dan – duntuk nama database. Format untuk masuk ke server adalah psql -h localhost -p 5432 -U user_name -d database_name, di mana localhost(komputer Anda) dapat diganti dengan alamat IP dan port 5432 adalah port default Postgres. Setelah Anda mengakses database di dalam server, Anda dapat menggunakan perintah PostgreSQL.
Kesimpulan
Setelah Anda menjalankan dan menjalankan Postgres, Anda akan dapat berinteraksi dengan database menggunakan perintah SQL dan perintah PSQL tertentu. Postgres sangat kuat dan open-source itulah sebabnya ia populer. Ada GUI pihak ketiga yang tersedia untuk membuat PSQL lebih mudah bagi pengguna namun mereka tidak selalu dapat berfungsi dengan server jarak jauh itulah sebabnya terminal dan baris perintah digunakan.