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

GilWright
Working through the steps (checking that the Info,plist matches exactly), run the demo game and what appears is grey but does not fill th...
New
raul
Hi Travis! Thank you for the cool book! :slight_smile: I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New
JohnS
I can’t setup the Rails source code. This happens in a working directory containing multiple (postgres) Rails apps. With: ruby-3.0.0 s...
New
rmurray10127
Title: Intuitive Python: docker run… denied error (page 2) Attempted to run the docker command in both CLI and Powershell PS C:\Users\r...
New
Chrichton
Dear Sophie. I tried to do the “Authorization” exercise and have two questions: When trying to plug in an email-service, I found the ...
New
AndyDavis3416
@noelrappin Running the webpack dev server, I receive the following warning: ERROR in tsconfig.json TS18003: No inputs were found in c...
New
brunogirin
When I run the coverage example to report on missing lines, I get: pytest --cov=cards --report=term-missing ch7 ERROR: usage: pytest [op...
New
taguniversalmachine
Hi, I am getting an error I cannot figure out on my test. I have what I think is the exact code from the book, other than I changed “us...
New
Henrai
Hi, I’m working on the Chapter 8 of the book. After I add add the point_offset, I’m still able to see acne: In the image above, I re...
New
tkhobbes
After some hassle, I was able to finally run bin/setup, now I have started the rails server but I get this error message right when I vis...
New

Other popular topics Top

PragmaticBookshelf
Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essential...
New
ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New
xiji2646-netizen
Woke up to this today: Claude Code’s complete source code exposed via npm source map. Not a snippet. All 512,000 lines. 1,900 TypeScript ...
New

Sub Categories: