Logo Heroku Postgres

Postgres Terkelola berbicara PostgreSQL

Menghubungkan Heroku Postgres ke Excel, Google Sheets, AI, dan REST

Heroku Postgres dari DATABASE_URL Anda. Basis data Heroku berada di hostname EC2 biasa, jadi kartu tersebut adalah cara koneksi mengetahui bahwa itu adalah Heroku.

Satu koneksi, setiap permukaan

Ke mana data Heroku Anda dapat dikirim?

Query Streams membaca Heroku Postgres dari Microsoft Excel, Google Sheets, Power BI, asisten AI melalui MCP, dan endpoint REST melalui satu koneksi baca saja. Heroku adalah yang paling unik di antara preset Postgres terkelola: basis datanya merespons pada nama host EC2 biasa tanpa bentuk penyedia apa pun, jadi tidak seperti kartu lain di sini, koneksi tidak dapat dikenali sebagai Heroku berdasarkan alamatnya. Memilih kartu ini akan mencatatnya, dan itulah mengapa kartu ini layak dipilih daripada kartu PostgreSQL generik.

Heroku Postgres adalah PostgreSQL yang dikirim melalui jaringan. — driver standar, jadi semua panduan di bawah ini berlaku tanpa perubahan. Satu-satunya bagian khusus Heroku adalah string koneksi, yang dibahas di bawah ini. detail koneksi.

  1. Untuk tim, vendor, dan mitra Anda
  2. Heroku ke Excel Microsoft Excel · Add-in Excel

    Ambil hasil Heroku secara langsung ke dalam lembar kerja dan perbarui sesuai kebutuhan — Excel desktop, Excel Online, Microsoft 365.

    Panduan PostgreSQL
  3. Heroku ke Google Sheets Tambahan lembar

    Jalankan kueri Heroku yang tersimpan dari bilah sisi dan seret baris ke dalam lembar kerja. Kolaborator yang berbagi dapat memperbaruinya sendiri.

    Panduan PostgreSQL
  4. Tanyakan pada Nova tentang Heroku Nova AI · teks ke SQL

    Ajukan pertanyaan dalam bahasa Inggris yang mudah dipahami. Nova sudah mengetahui tabel Heroku Anda, menulis dan menjalankan SQL, menjelaskan jawabannya, dan membuat grafiknya — tidak perlu menulis kueri, tidak perlu memberikan kredensial.

    Cara kerja Nova
  5. Heroku ke Penampil Data Berbagi hasil · tim, vendor, mitra · telepon, tablet, desktop

    Bagikan hasil Heroku secara langsung dengan siapa pun — kolega, vendor, mitra — sebagai grid yang dapat di-bookmark dan akan berjalan ulang saat dibuka, di ponsel, tablet, atau desktop. Mereka hanya melihat hasilnya, bukan kode SQL atau kredensialnya.

    Cara kerja Penampil Data
  6. Untuk aplikasi dan sistem
  7. API REST Heroku Titik akhir HTTP

    Publikasikan kueri Heroku sebagai endpoint JSON terautentikasi yang dapat dipanggil oleh aplikasi apa pun, dengan spesifikasi OpenAPI 3.1 dan koleksi siap pakai untuk Postman, Insomnia, dan Hoppscotch. Tidak ada port basis data yang dibuka.

    Panduan PostgreSQL
  8. Heroku ke Power BI Power Query M

    Tempelkan Power Query M yang dihasilkan ke dalam Power BI Advanced Editor dan laporan akan membaca hasil Heroku secara langsung melalui HTTPS — tanpa driver ODBC, tanpa port basis data yang dibuka.

    Cara kerja Power BI
  9. Heroku ke Airtable Platform otomatisasi

    Sinkronkan baris Heroku ke dalam basis data Airtable sesuai jadwal, atau ambil data tersebut di dalam skrip otomatisasi Airtable.

    Panduan PostgreSQL
  10. Heroku ke Baserow Platform otomatisasi

    Mengunggah data ke tabel Baserow dari Heroku melalui endpoint REST — baik yang dihosting sendiri maupun di cloud Baserow.

    Panduan PostgreSQL
  11. Heroku ke SeaTable Platform otomatisasi

    Jaga agar basis data SeaTable selalu mutakhir dengan data Heroku tanpa mengekspor file atau mengekspos basis data.

    Panduan PostgreSQL
  12. Heroku ke Smartsheet Platform otomatisasi

    Masukkan hasil Heroku ke dalam tabel Smartsheet agar rencana dan laporan dibaca dari sistem sumber, bukan dari ekspor minggu lalu.

    Panduan PostgreSQL
  13. Heroku ke Anvil Anvil Works · Platform aplikasi

    Dukung aplikasi Python Anvil dengan Heroku melalui endpoint REST, alih-alih menyematkan kredensial basis data di dalam aplikasi.

    Panduan PostgreSQL
  14. Untuk alat AI
  15. Server Heroku MCP Klien Claude, Cursor, dan MCP

    Berikan akses baca saja kepada asisten AI ke Heroku beserta skema yang dibutuhkannya untuk menulis SQL yang benar — tanpa kredensial di dalam obrolan.

    Panduan PostgreSQL
  16. Dikirimkan kepada orang-orang
  17. Peringatan dan laporan Heroku Slack · Discord · Email · Webhook

    Atur jadwal untuk menjalankan kueri Heroku dan kirimkan baris data ke Slack, Discord, email, atau webhook yang ditandatangani — atau tahan pesan hingga jumlah baris, ambang batas, atau perubahan persentase melampaui batas yang Anda tetapkan.

    Cara kerja peringatan dan laporan

Cara kerjanya

5 langkah, tanpa perubahan firewall masuk.

01

Instal Network Agent di mana pun yang sesuai untuk Anda. Network Agent membuka satu koneksi keluar dan tidak pernah mendengarkan, sehingga Heroku melihat klien biasa dan jaringan Anda tidak memerlukan aturan masuk.

02

Salin DATABASE_URL dari Pengaturan aplikasi, lalu Variabel Konfigurasi, dan tempelkan ke kolom pertama. Host, port, basis data, nama pengguna, dan kata sandi akan dibaca dari sana.

03

Biarkan opsi Gunakan SSL tetap aktif sebelum Anda menjalankan pengujian. Heroku mengharapkan koneksi terenkripsi, dan pada koneksi baru, kotak centang itulah yang menyediakannya.

04

Simpan. Logo Heroku ditulis pada saat itu, yang membuat koneksi tetap dapat dikenali setelahnya.

05

Silakan kembali dan tempel ulang setelah rotasi kredensial Heroku. Microsoft Excel, Google Sheets, Power BI, MCP, dan REST semuanya membaca melalui satu koneksi tersebut untuk sementara waktu.

Analisis mendalam fitur

Apa yang Heroku berikan kepada Anda

Tidak ada satu pun yang menyebutkan Heroku dalam nama host tersebut.

Semua kartu Postgres terkelola lainnya di sini dapat mengenali layanannya sendiri berdasarkan alamatnya. Kartu ini tidak bisa, dan perbedaan ini perlu dipahami.

  • Heroku Postgres memberikan jawaban pada nama host EC2 kosong dengan format ec2-12-34-56-78.compute-1.amazonaws.com. Tidak ada kata "heroku" dalam nama host yang dapat dicocokkan.
  • Jadi, identitas penyedia dicatat saat Anda menyimpan dari kartu ini, bukan disimpulkan dari tempat Anda terhubung. Itulah yang menentukan lencana dan ikon selanjutnya.
  • Konsekuensi praktisnya: koneksi PostgreSQL biasa yang Anda buat sebelumnya ke basis data Heroku tidak akan secara otomatis menampilkan branding Heroku. Kartu seperti Neon dan Koyeb melakukan hal itu dari nama host-nya. — Heroku adalah contoh di mana hal itu tidak dapat berfungsi.
  • Jika Anda menginginkan branding pada koneksi lama, buat ulang dari kartu ini. Tidak ada yang berubah pada jalur data; perbedaannya hanya pada penamaan.

Sertifikat yang ditandatangani sendiri, dan apa arti terenkripsi di sini

Heroku menggunakan sertifikatnya sendiri sebagai antarmuka basis datanya, yang membatasi apa yang dapat diperiksa secara wajar oleh agen tersebut.

  • Penggunaan SSL diaktifkan secara default dan koneksi dienkripsi. Agen tersebut membutuhkan TLS, bukan hanya menawarkannya.
  • Rantai sertifikat tidak diverifikasi. Sertifikat Heroku ditandatangani sendiri, sehingga verifikasi penuh akan menolak koneksi yang sebenarnya benar. — mewajibkan enkripsi tanpa memvalidasi rantai adalah pengaturan yang sesuai dengan layanan tersebut.
  • Anggap saja itu sebagai perlindungan terhadap siapa pun yang membaca lalu lintas data, bukan sebagai bukti apa yang telah Anda capai. Sikap ini sama seperti kartu kereta api, dan untuk alasan yang sama.
  • Biarkan kotak centang itu tetap seperti semula sebelum pengujian pertama Anda. Pada koneksi yang belum disimpan, kotak centang itu adalah satu-satunya hal yang mengaktifkan enkripsi.

Rotasi adalah hal yang akan Anda temui.

Heroku mengubah kredensial basis data selama pemeliharaan, dan agen menyimpan kredensial yang Anda berikan.

  • Saat Heroku melakukan rotasi, DATABASE_URL berubah dan kredensial yang tersimpan berhenti berfungsi. Kartu tersebut memberi tahu hal ini saat masuk, daripada membiarkan Anda menemukannya sendiri.
  • Memperbaikinya adalah dengan menempelkan ulang DATABASE_URL yang lama dengan yang baru. Semua yang ada di hilirnya. — kueri, jadwal, dan berbagi yang tersimpan — tetap berfungsi, karena mengarah ke koneksi dan bukan ke kredensial.
  • Tidak ada sinkronisasi otomatis. Query Streams tidak membaca variabel konfigurasi Heroku Anda, jadi proses salin-tempel ulang adalah langkah manual dan penting untuk diketahui sebelum Anda terkejut.
  • String yang disalin itu sendiri tidak pernah disimpan. String tersebut dibaca sekali untuk mengisi formulir lalu diabaikan, sehingga kata sandi hanya tersimpan di satu tempat, bukan di dua tempat.
-- Postgres biasa, hanya baca, melalui TLS SELECT c.name, COUNT(o.id) AS orders, SUM(o.amount) AS revenue FROM public.customers AS c JOIN public.orders AS o ON o.customer_id = c.id WHERE o.placed_at >= now() - interval '30 days' GROUP BY c.name ORDER BY revenue DESC;

Digunakan bersama oleh setiap konektor basis data.

Hal ini berlaku untuk setiap konektor basis data.

  • Hanya untuk keberangkatan — agen membuka satu koneksi terenkripsi ke Query Streams. Tidak ada port masuk yang perlu diteruskan, tidak ada VPN, tidak ada daftar IP yang diizinkan, tidak ada informasi tentang basis data Anda yang terekspos ke internet.
  • Kredensial tetap tersimpan. — Nama pengguna dan kata sandi basis data tersimpan di mesin tempat Anda menginstal agen. Query Streams tidak pernah menerimanya dan tidak dapat mengakses basis data Anda sendiri.
  • Hanya baca, diberlakukan — satu pernyataan dalam satu waktu, hanya SELECT dan sejenisnya. Permintaan penulisan ditolak di mesin Anda sendiri sebelum dikirim ke server, alih-alih bergantung pada izin yang telah diatur oleh seseorang.
  • Sebarkan agen sebanyak yang Anda inginkan. — satu per situs, wilayah, atau cloud. Setiap sumber data yang dapat mereka lihat muncul dalam satu menu tarik-turun, sehingga tidak ada yang perlu tahu agen mana yang menghosting apa.

Yang Anda dapatkan setelah kueri disimpan

  • Bagikan kemampuannya, bukan kode SQL-nya. — seorang kolega atau mitra eksternal dapat menjalankan kueri Anda dan mengubah filternya tanpa pernah melihat pernyataan di baliknya.
  • Filter dari kedua arah — deklarasikan sendiri sebagai @variabel, atau biarkan konektor menemukan nilai literal yang sudah ada di klausa WHERE Anda dan menawarkannya sebagai menu tarik-turun.
  • Bacalah dari mana saja — Microsoft Excel, Google Sheets, Power BI, REST API, asisten AI melalui MCP, Query Builder, dan Nova semuanya membaca kueri tersimpan yang sama.
  • Jalankan beberapa sekaligus — lima kueri tersimpan ke dalam lima tab lembar kerja, dialirkan secara bersamaan, sebesar apa pun hasilnya.
  • Hubungkan dengan hal lain yang sudah Anda hubungkan. — basis data lain, API bisnis, atau folder file, dalam satu pernyataan baca saja.

SQL lintas sumber

Hubungkan Heroku dengan sisa data Anda.

Satu pernyataan dapat mencakup Heroku dan koneksi Anda lainnya sekaligus. Setiap sumber hanya menjalankan bagian yang mampu dijalankannya, mengirimkan hasilnya kembali, dan penggabungan terjadi secara terpusat — sumber-sumber tersebut tidak pernah berkomunikasi satu sama lain dan tidak ada yang disalin ke mana pun.

3 koneksi · 3 agen

Heroku Postgres Postgres Terkelola
Microsoft SQL Server Mesin relasional
Stripe Pembayaran & penagihan

Satu pernyataan

-- tidak ada yang disalin, tidak ada yang digabungkan, tidak ada yang dijadwalkan
PILIH   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
DARI     aplikasi herokuketertiban umum1 f
GABUNG     erp_sql.dbo.pelanggan2    c ON c.id = f.customer_id
GABUNG     penagihan.stripe.faktur3  i ON i.customer = c.stripe_id
KELOMPOKKAN BERDASARKAN c.wilayah
PESAN OLEH ditagih DESC;

Tiga bagian tersebut adalah koneksi, skema, dan tabel — dan nama koneksi adalah apa pun yang Anda sebutkan. Kolom ilustratif; tabel Anda akan menjadi tabel Anda. Hanya baca berlaku untuk setiap bagian: SELECT, WITH, dan EXPLAIN saja, dengan batasan seberapa banyak data yang dapat diberikan oleh satu sumber untuk satu kueri. Cara kerja kueri terfederasi

Detail koneksi

Apa yang dibutuhkan Heroku

Tuan rumah
Nama EC2 polos seperti ec2-12-34-56-78.compute-1.amazonaws.com — tidak ada yang mengidentifikasi Heroku di dalamnya.
Pelabuhan
5432
Pengemudi
Npgsql, dibawa oleh agen — tidak perlu diinstal di sisi Heroku.
Format tempel
DATABASE_URL dari Pengaturan lalu Variabel Konfigurasi, sebagai URI postgres://
TLS
Wajib. Terenkripsi; rantai sertifikat tidak diverifikasi, yang merupakan persyaratan sertifikat yang ditandatangani sendiri oleh Heroku.
Pengumpulan
Tidak ada. Agen tidak menerapkan adaptasi pooler apa pun untuk Heroku.
Kredensial
Dirotasi oleh Heroku selama pemeliharaan. Tempel ulang DATABASE_URL saat ini ketika itu terjadi — tidak ada sinkronisasi otomatis.
Disimpan sebagai
PostgreSQL, dengan Heroku sebagai lencana. Karena nama host bersifat anonim, lencana tersebut hanya ada jika Anda menyimpan dari kartu ini.
Skema default
publik, yang merupakan makna dari referensi terfederasi.

Heroku adalah preset yang membuat desain dasarnya terlihat. Setiap kartu di sini menyimpan mesin aslinya dan menyimpan penyedia sebagai label, dan untuk sebagian besar kartu, label tersebut merupakan pengaman tambahan — nama host akan mengungkapkannya anyway. Heroku tidak memiliki mekanisme cadangan seperti itu, jadi label adalah satu-satunya catatan. Itulah mengapa membuat ulang koneksi lama melalui kartu ini adalah solusi untuk branding yang hilang, dan mengapa tidak ada cara untuk melakukannya secara retroaktif.

Peringatan rotasi adalah hal yang paling berguna secara praktis pada kartu tersebut. Heroku merotasi kredensial selama pemeliharaan adalah operasi normal, bukan kesalahan, dan kegagalan yang ditimbulkannya adalah kesalahan otentikasi yang terlihat persis seperti seseorang telah mengubah kata sandi. Mengetahui sebelumnya bahwa menempelkan kembali DATABASE_URL adalah solusi keseluruhan mengubah gangguan yang membingungkan menjadi tugas tiga puluh detik.

Untuk kueri lintas sumber, Heroku sama seperti Postgres biasa. Koneksi yang Anda beri nama heroku_app akan ditulis sebagai heroku_app.public.orders, dan akan bergabung ke folder CSV, sistem pencatatan lokal, atau API penagihan dalam satu pernyataan baca saja — tanpa ada yang disalin dan tanpa ada yang dijadwalkan.

Dokumentasi vendor: www.heroku.com

Pertanyaan yang Sering Diajukan (FAQ)

Pertanyaan tentang Heroku Postgres

Alat apa saja yang dapat membaca data Heroku Postgres melalui Query Streams?

Semuanya, dari satu koneksi: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, peringatan dan laporan terjadwal. Hubungkan basis data sekali dan setiap antarmuka akan membaca koneksi baca-saja yang sama — tidak ada pengaturan per alat dan tidak ada salinan data kedua.

Apakah saya perlu membuka port firewall ke database Heroku Postgres saya?

Tidak. Query Streams Network Agent berjalan di dalam jaringan Anda dan membuka satu koneksi keluar terenkripsi. Tidak ada yang mendengarkan lalu lintas masuk, tidak diperlukan VPN, dan basis data mempertahankan aturan firewall yang ada.

Bisakah Query Streams mengubah data di Heroku Postgres?

Tidak. Agen tersebut memberlakukan mode baca saja pada saat eksekusi — satu pernyataan dalam satu waktu, hanya SELECT dan sejenisnya. Kredensial tetap berada di agen dan tidak pernah dikirim ke Query Streams.

Apa yang dibutuhkan Query Streams untuk terhubung ke Heroku Postgres?

Host yang dapat dijangkau, peran dan kata sandinya — agen membawa driver, jadi tidak ada yang diinstal pada basis data. Host: Nama EC2 biasa seperti ec2-12-34-56-78.compute-1.amazonaws.com — tidak ada yang mengidentifikasi Heroku di dalamnya. Port: 5432. Driver: Npgsql, dibawa oleh agen — tidak ada yang perlu diinstal di sisi Heroku. Format tempel: DATABASE_URL dari Pengaturan lalu Variabel Konfigurasi, sebagai URI postgres://.

Bisakah saya menggabungkan Heroku Postgres dengan basis data lain dalam satu kueri yang sama?

Ya — itu adalah kueri terfederasi. Satu pernyataan dapat merujuk ke Heroku Postgres dan koneksi Anda lainnya sekaligus, ditulis sebagai connection.schema.table. Setiap sumber hanya menjalankan bagian yang dapat dijalankannya dan mengalirkan hasilnya kembali; penggabungan terjadi secara terpusat, sehingga sumber-sumber tersebut tidak pernah terhubung satu sama lain dan tidak ada yang disalin atau dijadwalkan. Hanya baca berlaku untuk setiap bagian — hanya SELECT, WITH, dan EXPLAIN — dan ada batasan seberapa banyak data yang dapat diserahkan oleh satu sumber untuk satu kueri. Kueri terfederasi adalah fitur rencana; halaman kueri terfederasi memuat batasan sumber dan ukuran saat ini.

Apakah menghubungkan Heroku ke Postgres berbeda dengan menghubungkan ke PostgreSQL?

Hanya string koneksi saja. Heroku Postgres menggunakan protokol wire PostgreSQL, sehingga filter, penjadwalan, berbagi, add-on Excel dan Google Sheets, serta server MCP semuanya berperilaku identik. Kartu Heroku secara otomatis mengisi host, port, dan pengaturan SSL yang diharapkan oleh penyedia layanan.

Apakah ada panduan Heroku untuk Excel?

Ya — ini adalah panduan PostgreSQL, dan panduan ini benar untuk Heroku Postgres seperti yang tertulis. Heroku menggunakan protokol koneksi PostgreSQL, jadi Heroku ke Excel, Heroku ke Google Sheets, dan semua tujuan lainnya mengikuti langkah-langkah yang sama. Satu-satunya bagian yang spesifik untuk Heroku adalah string koneksi, dan kartu Heroku akan mengisinya untuk Anda.

Tempatkan Heroku di tempat pekerjaan berlangsung.

Instal agen, arahkan ke basis data Anda, dan pilih tujuan.

Hanya baca Hanya untuk keberangkatan Informasi kredensial tetap tersimpan pada agen.