A Few Postgres Essentials

Postgres is our favorite database—it’s reliable, powerful and secure. Here are a few essential tips learned from building, and helping our customers build, apps around Postgres. These tips will help ensure you get the most out of Postgres, whether you’re running it on your own box or using the Heroku Postgres add-on.

Use a Connection Pooler

Postgres connections are not free, as each established connection has a cost. By using a connection pooler, you’ll reduce the number of connections you use and reduce your overhead.

Most Postgres client libraries include a built-in connection pooler; make sure you’re using it.

You might also consider using our pgbouncer buildpack if your application...

Read more →

PostgreSQL 9.6 Now Generally Available on Heroku

PostgreSQL 9.6 is now generally available for Heroku Postgres. The main focus of this release is centered around performance. PostgreSQL 9.6 includes enhanced parallelism for key capabilities that sets the stage for significant performance improvements for a variety of analytic and transactional workloads.

With 9.6, certain actions, like individual queries, can be split up into multiple parts and performed in parallel. This means that everything from running queries, creating indexes, and sorting have major improvements that should allow a number of different workloads to execute faster than they had in prior releases of PostgreSQL. With 9.6, the PostgreSQL community, along with Heroku’s...

Read more →

Apache Kafka, Data Pipelines, and Functional Reactive Programming with Node.js

Heroku recently released a managed Apache Kafka offering. As a Node.js developer, I wanted to demystify Kafka by sharing a simple yet practical use case with the many Node.js developers who are curious how this technology might be useful. At Heroku we use Kafka internally for a number of uses including data pipelines. I thought that would be a good place to start.

When it comes to actual examples, Java and Scala get all the love in the Kafka world. Of course, these are powerful languages, but I wanted to explore Kafka from the perspective of Node.js. While there are no technical limitations to using Node.js with Kafka, I was unable to find many examples of their use together in tutorials,...

Read more →

Now GA: Read and Write Postgres Data from Salesforce with Heroku External Objects

Today we are announcing a significant enhancement to Heroku External Objects: write support. Salesforce users can now create, read, update, and delete records that physically reside in any Heroku Postgres database from within their Salesforce deployment.

Increasingly, developers need to build applications with the sophistication and user experience of the consumer Internet, coupled with the seamless customer experience that comes from integration with Salesforce. Heroku External Objects enable a compelling set of integrations scenarios between Heroku and Salesforce deployments, allowing Postgres to be updated based on business processes or customer records in Salesforce.

With Heroku...

Read more →

Ruby 3x3: Matz, Koichi, and Tenderlove on the future of Ruby Performance

At RubyKaigi I caught up with Matz, Koichi, and Aaron Patterson aka Tenderlove to talk about Ruby 3x3 and our path so far to reach that goal. We discussed Koichi’s guild proposal, just-in-time compilation and the future of Ruby performance.

Jonan: Welcome everyone. Today we are doing an interview to talk about new features coming in Ruby 3. I am here with my coworkers from Heroku, Sasada Koichi and Yukihiro Matsumoto, along with Aaron Patterson from GitHub.

Jonan: So, last year at RubyKaigi you announced an initiative to speed up Ruby by three times by the release of version three. Tell us more about Ruby 3x3.

Matz: In the design of the Ruby language we have been primarily focused on...

Read more →

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.