andatki

andatki

Author of High Performance PostgreSQL for Rails

High Performance PostgreSQL for Rails: "Is this useful for non Rails users?"

Roshan asked:

Is this useful for non Rails users?

As the author, I’m biased, but I think so. While all of the application code examples are in Ruby and Active Record, there are many types of code or configuration throughout the book that aren’t.

For example, there’s SQL, shell scripts, SQL Query functions, PL/pgSQL procedures, and native database objects like constraints, views, or cursors that readers work with.

Don’t take it from me though. :grin: How about these responses from readers that work primarily with other technologies:

Robert T. wrote:

Excited to see this hit the market. While Rails is in the title, don’t be put off if you work with something else; the Rails ecosystem provides a wealth of developer tooling and Ruby is an easily accessible language for studying, and the information can definitely be adapted to different domains.

Dave C. said:

​"A book with this information would’ve allowed me to shortcut several years off of learning Postgres the hard way."

Haki B. wrote (after reading portions of the book):

“It’s amazing how much Django and rails resemble each other.”

My estimation is the book is about 75% PostgreSQL and about 25% Ruby on Rails.

My hope is that the book is useful even for programmers that work with other MVC full-stack web frameworks like Django (Python) or Laravel (PHP). Those frameworks will have ORMs with some overlap with Active Record, and when they connect to PostgreSQL, may have some of the same challenges around writing high performance queries.

Other topics like schema design, indexing, or maintenance, all have less to do with specific web frameworks or programming languages.

I also discussed with Drew Bragg on the podcast “Code and the Coding Coders who Code it Episode 27 - Andrew Atkinson” at the 33:50 mark:
https://www.listennotes.com/podcasts/code-and-the/episode-27-andrew-atkinson-0uJ_Yc82Npv/

While I originally considered positioning the book more broadly as something like: “PostgreSQL for Web Developers”, I didn’t think that would work out as well.

The main reason was because I wanted to have lots of concrete examples and exercises, inspired by my career experience from working with Ruby on Rails and PostgreSQL over the last decade.

To do that, the book uses more than 40 libraries from the broader ecosystem, as PostgreSQL extensions and Ruby gems. Most (not all) of the open source libraries that are included are there because I have firsthand experience using them in production. It felt more authentic to stick with what I knew best and have put into production and maintained myself. For libraries where that’s not the case, I try and call that out.

Hope that helps! Thanks for your interest!

book-high-performance-postgresql-for-rails

First Post!

andatki

andatki

Author of High Performance PostgreSQL for Rails

Where Next?

Popular Pragmatic Bookshelf topics Top

belgoros
Following the steps described in Chapter 6 of the book, I’m stuck with running the migration as described on page 84: bundle exec sequel...
New
sdmoralesma
Title: Web Development with Clojure, Third Edition - migrations/create not working: p159 When I execute the command: user=> (create-...
New
edruder
I thought that there might be interest in using the book with Rails 6.1 and Ruby 2.7.2. I’ll note what I needed to do differently here. ...
New
mikecargal
Title: Hands-on Rust: question about get_component (page 295) (feel free to respond. “You dug you’re own hole… good luck”) I have somet...
New
Mmm
Hi, build fails on: bracket-lib = “~0.8.1” when running on Mac Mini M1 Rust version 1.5.0: Compiling winit v0.22.2 error[E0308]: mi...
New
alanq
This isn’t directly about the book contents so maybe not the right forum…but in some of the code apps (e.g. turbo/06) it sends a TURBO_ST...
New
jgchristopher
“The ProductLive.Index template calls a helper function, live_component/3, that in turn calls on the modal component. ” Excerpt From: Br...
New
hazardco
On page 78 the following code appears: <%= link_to ‘Destroy’, product, class: ‘hover:underline’, method: :delete, data: { confirm...
New
jwandekoken
Book: Programming Phoenix LiveView, page 142 (157/378), file lib/pento_web/live/product_live/form_component.ex, in the function below: d...
New
mcpierce
@mfazio23 I’ve applied the changes from Chapter 5 of the book and everything builds correctly and runs. But, when I try to start a game,...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1050 21151 394
New
Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New

Sub Categories: