# Craig Kerstiens

CRAIG KERSTIENS

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Getting comfortable with psql

DevFeed: [Getting comfortable with psql](<https://devfeed.tech/articles/getting-comfortable-with-psql-41232.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2024/11/11/Getting-comfortable-with-psql/>)

Author: Map

Published: 2024-11-11T15:57:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [commands](<https://devfeed.tech/tags/commands.md>), [config](<https://devfeed.tech/tags/config.md>), [database](<https://devfeed.tech/tags/database.md>), [pager](<https://devfeed.tech/tags/pager.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [psql](<https://devfeed.tech/tags/psql.md>), [query](<https://devfeed.tech/tags/query.md>), [tables](<https://devfeed.tech/tags/tables.md>), [timing](<https://devfeed.tech/tags/timing.md>), [vim](<https://devfeed.tech/tags/vim.md>)

### AI overview

A practical introduction to getting comfortable with psql, the PostgreSQL command-line interface. It covers utility commands, describing tables, configuration options, query timing, output formatting, pager settings, and editing queries with an external editor.

### Source excerpt

psql is a CLI editor that ships with Postgres. It's incredibly powerful for working with Postgres, and doesn't take too much of a learning curve to start to get comfortable so you can really feel like an expert working with your database. Just a rundown of a few things to get you started: Once connected in psql you can get an idea of all utility commands available with: \? A handy thing I use all the time is \d. \d will describe the tables within database. You can also add a table/index/etc. onto it to describe that specific table such as: \d accounts There are a number of options you can set in your psqlrc (config) file to customize your CLI experience. But you can also toggle those when directly working in psql. \timing will give you the time it took to run your query \x auto will autoformat your text output \pset pager 0 turns off your pager or 1 to turn it back on Oh and for editing a query in your editor of choice. Make sure you set your $EDITOR enviroment variable to the editor of your choice, though the only right choice is vim: \e Just a few things to get you started working with psql. Your browser does not support video

## PostgreSQL's Future Lies in Its Extension Ecosystem

DevFeed: [PostgreSQL's Future Lies in Its Extension Ecosystem](<https://devfeed.tech/articles/the-future-of-postgres-41231.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2024/10/18/The-future-of-Postgres/>)

Author: Map

Published: 2024-10-18T16:50:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Extension](<https://devfeed.tech/topics/extension.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [databases](<https://devfeed.tech/tags/databases.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [extension](<https://devfeed.tech/tags/extension.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [search](<https://devfeed.tech/tags/search.md>), [time-series](<https://devfeed.tech/tags/time-series.md>)

### AI overview

The article argues that PostgreSQL's stability and reliability come from its stable core, while new capabilities are added through extensions. It surveys extensions including pg_stat_statements, auto_explain, pg_prewarm, Citus, pg_search, and pg_cron, describing uses such as performance monitoring, distributed databases, full-text search, caching, and scheduled jobs.

### Source excerpt

I'm often asked what do I think the future for Postgres holds, and my answer has been mostly the same for probably 8 years now, maybe even longer. You see for Postgres itself stability and reliability is core. So where does the new stuff come from if it's not in the stable core... extensions. Extensions within Postgres are unlike most other databases allowing you to modify or well extend the standard Postgres behavior. You can build other storage backends, new types, etc. Postgres itself ships with a number of extensions within the "contrib". The list of contrib extensions hasn't changed any time recently, but even contrib is a small sampling of what is possible. Beyond core there is a whole world of extensions, I want dig into just a smalls sampling starting with a few in core... pg_stat_statements is to me the most useful extension that exists. It records what queries were run, how long they took, and a number of other details about the queries. A key extension for managing performance of your database. auto_explain another one in contrib that is helpful for performance. For queries that run over a certain period of time will automatically log the explain plan-helpful for performance debugging. pg_prewarm useful to prewarming the cache ahead of a failover. Let's jump out of contrib a little bit now. Of course that isn't everything that ships with Postgres there is more, explore for yourself. Citus is one of the (to date) more advanced extensions ever created. Citus turns postgres into a sharded, distributed, horizontally scalable database. Citus is especially built to work well for B2B style multi-tenant apps, and now after being acquired years ago part of Microsoft. Pg_search extends Postgres to support elastic-quality full text search directly within Postgres. I often say Postgres can do just about everything and be pretty capable. Things like time series and search it's about 80% as good of some of the best in class options out there, but pg_search takes it further

## What problem are we trying to solve?

DevFeed: [What problem are we trying to solve?](<https://devfeed.tech/articles/what-problem-are-we-trying-to-solve-41230.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2022/11/28/What-problem-are-we-trying-to-solve/>)

Author: Map

Published: 2022-11-28T19:23:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [structure](<https://devfeed.tech/topics/structure.md>)

Tags: [discussion](<https://devfeed.tech/tags/discussion.md>), [product-management](<https://devfeed.tech/tags/product-management.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

The article argues that meetings often lose focus when participants lack a clear problem, agenda, structure, or goal. It recommends stating the meeting goal in advance, documenting notes, and asking what problem the group is trying to solve when discussion has drifted.

### Source excerpt

If you want to seem like the smartest person in the room, wait for a break in conversation, after sitting quiet for 15 minutes, and ask "What problem are we trying to solve here?" It works every time. We've all been there. You walk into a meeting, there are 10 people in it. It gets rolling, different folks chiming in. A few people seem to be taking personal notes, they always do. There is the person that scheduled the meeting, but they're not the person that usually makes decisions. It's primarily going back and forth between 3 individuals with 7 others watching on. You're 15 minutes in, and while there has been lively discussion already... you find yourself back on the original point from minute 1 seemingly lost 14 minutes and you're unsure to what. A healthier environment ideally has an agenda sent out ahead of time. Based on the agenda there is a clear structure planned for the meeting which presumably points to a clear goal. Even without an agenda an alternative structure would be a clearly stated goal in the invite. Within the meeting you SCQA-it up live. Huge bonus points if the meeting invite includes a link to the notes doc where meeting notes will be transcribed by an explicit scribe for the meeting, sent out after for folks to agree/confirm as a good record of the meeting. As a facilitator as good as you may be, you're still going to end up in the first situation. Every time wait 10-15 minutes, then ask the question. It seems to be more effective after you've had the detour vs. leading off with it in the first 1 minute. Even better internalize the question to yourself vs. just making yourself look good by asking it (which will happen).

## Product Management Email Tactics for Getting Team Responses

DevFeed: [Product Management Email Tactics for Getting Team Responses](<https://devfeed.tech/articles/gonna-use-a-personal-trick-hack-use-it-often-41229.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2022/11/22/Gonna-use-a-personal-trick/hack-Use-it-often/>)

Author: Map

Published: 2022-11-22T16:11:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Product Management](<https://devfeed.tech/topics/product-management.md>), [email](<https://devfeed.tech/topics/email.md>)

Tags: [email](<https://devfeed.tech/tags/email.md>), [product-management](<https://devfeed.tech/tags/product-management.md>)

### AI overview

A product-management commentary that recommends using communication tactics consistently. It suggests emailing individuals through a mail merge rather than a team alias to solicit feedback, and having respected team members reply positively to announcements.

### Source excerpt

What do I mean by trick/hack? This can be super flexible, but I'll toss out a few of my own personal ones. One of the rules of my product management philosophy, is if you're going to use a tool or trick then use it often. This is in fact one of my favorite interview questions for PMs. If you ever interview with me, be prepared it's coming. It applies for engineering managers and others in leadership roles as well, but I've found especially get for PMs. Getting a response from team emails It's very common to have a team@ alias within your company, whether for the whole team or for smaller teams. As a PM you may need to email sales@ and get feedback of requested features, or feedback on the roadmap. Chances are you'll send some good time and effort crafting this email, being concise but also giving enough context for them to give you an informed response. If you're good you've fed the email through hemingway app before you sent it and gotten it down to grade level 7 or lower. You send it middle on a Tuesday around 10am so it's not lost in Monday triage, and not missed on Thursday that aligns to a long holiday weekend. And then... silence. Nothing. Nada. Zip. Zilch. I'm not really sure the reason for crickets, perhaps at best they assumed a bunch of their peers got back to you privately. At worst they're apathetic and care strictly on closing their next deal and not giving feedback that helps long term growth. But I'm not here to dissect why. How do you get a response? Slightly restructure the email to instead of going to the sales@ alias, be targeted to individuals. Pull the emails of everyone on the list, make the opening a generic "Hi,", and have it go directly to the individuals via a mail merge. From experience have had CEOs (who I forgot to omit) email me back when they were out on vacation apologizing for slow response (of hours) and that they'd get me feedback before weeks end. Turn a group email into a love fest As much as 1:1 emails are great and will solicit a

## Unfinished Business with Postgres

DevFeed: [Unfinished Business with Postgres](<https://devfeed.tech/articles/unfinished-business-with-postgres-41228.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2022/05/18/Unfinished-Business-with-Postgres/>)

Author: Map

Published: 2022-05-18T16:52:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Heroku Postgres](<https://devfeed.tech/topics/heroku-postgres.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [databases](<https://devfeed.tech/tags/databases.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [incident](<https://devfeed.tech/tags/incident.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A personal account of Heroku Postgres, describing how a small team managed more than 1.5 million Postgres databases, handled recurring operational problems, and considered the future of Postgres services.

### Source excerpt

7 years ago I left Heroku. Heroku has had a lot of discussion over the past weeks about its demise, whether it was a success or failure, and the current state. Much of this was prompted by the recent, and on-going security incident, but as others have pointed out the product has been frozen in time for some years now. I'm not here to rehash the many debates of what is the next Heroku, or whether it was a success or failure, or how it could have been different. Heroku is still a gold standard of developer experience and often used in pitches as Heroku for X. There were many that tried to imitate Heroku for years and failed. Heroku generates sizable revenue to this day. Without Heroku we'd all be in a worse place from a developer experience perspective. But I don't want to talk about Heroku the PaaS. Instead I want share a little of my story and some of the story of Heroku Postgres (DoD - Department of Data as we were internally known). I was at Heroku in a lot of product roles over the course of 5 yrs, but most of my time was with that DoD team. When I left Heroku it was a team of about 8 engineers running and managing over 1.5m Postgres databases-a one in a million problem was once a week, we engineered a system that allowed us to scale without requiring a 50 person ops team just for databases This will be a bit of a personal journey, but also hopefully give some insights into what the vision was and hopefully a bit of what possibilities are for Postgres services in the future. I wasn't originally hired to work on anything related to Postgres. As an early PM I first worked on billing, then later on core languages and launching the Python support for Heroku. It was a few months in when I found myself having conversations with many of the internal engineers about Postgres. "Why aren't you using hstore?", "Transactional DDL to rollback transactions is absolutely huge!", "Concurrent index creation runs in the background while not holding a lock, this should always be ho

## Guidance for Scaling - Reversible vs. Irreversible Decisions

DevFeed: [Guidance for Scaling - Reversible vs. Irreversible Decisions](<https://devfeed.tech/articles/guidance-for-scaling-reversible-vs-irreversible-decisions-41227.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2021/12/29/Guidance-for-Scaling-Reversible-vs.-Irreversible-Decisions/>)

Author: Map

Published: 2021-12-29T21:30:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [scaling](<https://devfeed.tech/topics/scaling.md>), [Product Management](<https://devfeed.tech/topics/product-management.md>)

Tags: [founders](<https://devfeed.tech/tags/founders.md>), [growth](<https://devfeed.tech/tags/growth.md>), [hiring](<https://devfeed.tech/tags/hiring.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [scaling](<https://devfeed.tech/tags/scaling.md>)

### AI overview

The article advises founders to empower newly hired functional leaders instead of micromanaging them. It recommends clearly communicating priorities and distinguishing reversible decisions from irreversible ones while scaling a business.

### Source excerpt

Was having a conversation with a founder earlier today and the topic of hiring functional leaders came up. I offered one of my common pieces of advice which was don't hold the reins too tightly once you hire them. It's something I see happen over and over to first time founders. You hire a new VP of Product and then still continue to oversee so much of the product process yourself. It is understandable, it's your baby, you've spent years building it to this point, they don't love it the same way you do. The likely outcome is your new VP of product won't find success. They'll feel they're not able to execute on a vision of their own. They'll feel micromanaged. Even the smallest decisions they'll feel aren't fully theirs and get second guessed. Perhaps you could do it better, that's not necessarily the question. What you're focused on is growing and scaling, this is the reason you hired them. So how do you do this without the business careening off tracks? Well first, empower them to make decisions, but beyond that there are a few things you can do so you feel more comfortable entrusting them with their functional area. Communication is key First, clearly communicate your priorities and thought process. This doesn't mean tell them what to do, but priorities... Bob Iger states it as "You have to convey your priorities clearly and repeatedly. In my experience, it's what separates great managers from the rest". I couldn't immediately find the reference, but recall reading that he started each week with his execs communicating his top 5 priorities across the company. This gives you a line of sight into the leadership's thinking. This could be as simple as: I'm worried about our pipeline for next year I'm worried about retention and how it affects long term growth I'm worried that we have the tech stack to scale for next 3 years Something similar to that last one came up in the conversation, which led us down a brief conversation of reversibles and irreversibles. In product

## Top 5 Product and Management skills: SQL, Excel, Clear Communication, Story, Prioritization

DevFeed: [Top 5 Product and Management skills: SQL, Excel, Clear Communication, Story, Prioritization](<https://devfeed.tech/articles/top-5-product-and-management-skills-sql-excel-clear-communication-story-prioritization-41226.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2021/04/27/Top-5-Product-and-Management-skills-SQL-Excel-Clear-Communication-Story-Prioritization/>)

Author: Map

Published: 2021-04-27T21:30:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Product Management](<https://devfeed.tech/topics/product-management.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [communication](<https://devfeed.tech/tags/communication.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [product-management](<https://devfeed.tech/tags/product-management.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This opinion article discusses five skills the author associates with product and management work: SQL, Excel, clear communication, storytelling, and prioritization. It particularly emphasizes SQL for analyzing customer and cohort data, and Excel for examining information and supporting decisions.

### Source excerpt

A few months ago there was a tweet from @jasoncwarner about leadership skills/super powers: SQL Excel Concise writing Story telling Prioritization. I've spent quite a bit of time in product management roles, and in recent years more in leadership. I've found a lot of the skills in product to translate into good leadership skills as well, but maybe I'm bluring the lines there. Regardless, with his 5 skills I found myself nodding and have written about each of these some on my blog and then at times on twitter. He long since deleted the tweet, and while I wait for him to republish I thought I'd reprise a few of these with my own view point. SQL Yeah, I'm a "database" person. But not really, I'm a product person. But if I want to answer a question about what our customers are doing 9 times out of 10 the answer to that question is hiding inside a SQL database. If it's not in a SQL database they've made a SQL like interface to access that data. If you want to feel like you have some magical super power that probably none of your peers posses pick up SQL. How many people working in React know SQL? Know many people that write Go know SQL? Same question if you know Ruby. The insights into how many users created their freemium account 3 months ago, but then converted to paying within 30 days, vs converted to paying after 30 days for a cohort analysis of fast converters vs. slow converters I can probably write in SQL before you've parsed what I'm trying to get at and started to write in any other language. That type of insight is powerful. Now if you think of how many people on a product team, or a management team know SQL-you're in a unique position. It really is a super power Excel This one is more common with MBAs and business types, but nonetheless is still valuable. While I love SQL, a pivot table in SQL isn't quite the same. There are absolutely people that can spin circles around me in Excel (looking at you @rstephensme). But Excel is way more broad reaching a programm

## Exploring a new Postgres database

DevFeed: [Exploring a new Postgres database](<https://devfeed.tech/articles/exploring-a-new-postgres-database-41225.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2020/11/14/Exploring-a-new-Postgres-database/>)

Author: Map

Published: 2020-11-14T19:30:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [file](<https://devfeed.tech/topics/file.md>), [Sequences](<https://devfeed.tech/topics/sequences.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [databases](<https://devfeed.tech/tags/databases.md>), [file](<https://devfeed.tech/tags/file.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [psql](<https://devfeed.tech/tags/psql.md>), [sequences](<https://devfeed.tech/tags/sequences.md>)

### AI overview

A practical guide to exploring an unfamiliar Postgres database using the psql command-line client. It covers configuring psql defaults, inspecting database objects and tables, examining data, formatting output, and working with JSONB.

### Source excerpt

At past jobs I'd estimate we had 100 different production apps that in some way were powering key production systems. Sure some were backend/internal apps while others key production apps such as the dashboard itself. At other companies we had a smaller handful of Heroku apps that powered our cloud service, about 5-10 in total. Even just working with those internal apps it's a number of things to keep context on. But when it comes to interacting with something you don't know getting a lay of the land quickly is key. In helping a customer optimize and tune, or even just understand what is going on in their app an understanding of the data model is key. As I just started a few months back at Crunchy Data I found myself digging into a lot of new systems and quickly trying to ramp up and get a feel for them. Over the past 10 years I've pretty well codified my steps to getting a feel for a new database. While I'm not a DBA and a small portion of my job is spent inside a database being able to quickly navigate one saves me hours each month and days out of the year. I'm sure my process isn't perfect, but hopefully it helps other when navigating a new Postgres database for the first time. First the tooling For any new database my go to tool is psql. The built-in Postgres CLI is going to be the quickest thing for me to navigate around. If you use a CLI for anything else then this should be your preference here as well. I'm also going to have a psqlrc file setup that has some good defaults. My go to defaults in my psqlrc are: -- Automatically format output based on result length and screen \x auto -- Prettier nulls \pset null '#' -- Save history based on database name \set HISTFILE ~/.psql_history- :DBNAME -- Turn on automatic query timing \timing Getting a feel for the tables The first thing I'm going to do is just table a look at which objects exist within the database with \d. This will spit out a mix of tables, views, sequences all within your database. A cleaner version

## Lessons from college: Efficient meetings

DevFeed: [Lessons from college: Efficient meetings](<https://devfeed.tech/articles/lessons-from-college-efficient-meetings-41223.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2020/03/17/lessons-from-college-effecient-meetings/>)

Author: Map

Published: 2020-03-17T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [meetings](<https://devfeed.tech/topics/meetings.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [hacks](<https://devfeed.tech/tags/hacks.md>), [meetings](<https://devfeed.tech/tags/meetings.md>)

### AI overview

The author reflects on college lessons and argues that well-run meetings are valuable workplace skills. The article highlights advance agendas, preparation time, and explicit meeting roles as features of efficient meetings.

### Source excerpt

I think back to my time in college, and I learned some valuable things. I also learned some incredibly worthless things (i.e. don't flip a car upside down and then backover... it'll break the axle so you can't roll it). Even in classes... the basic approach to a supply/demand curve to maximize profit is cute when done in a classroom vs. the complexities of how things actually work... I mean I get the idea behind it, but what you learn is so far being able to be translated into being usable. But what surprises me looking back was a couple of skills around running meetings that I find so rare in the workplace that have immense value. I've always been fascinated at the intersection of business and technology. I'd been coding for a long time before college, and while interesting it was also a means to an end. When you combine technology with business you can solve things in entirely new and valuable ways. My major was management information systems, and all folks in my program came out with a computer science minor in addition to their business degree-something pretty rare for more MIS majors in other programs and well generally for anyone coming out of a business school. Perhaps I'll get into the value of CS training even if you aren't looking for a CS job some other time. Within the program we would have a senior project that was actually a real world project for one of the large companies that sponsored part of the program. We'd have monthly reviews with the company stake holder. We'd also have weekly meetings, these were especially well run. There were really 3 items that made them especially efficient. 1. Agendas circulated out 24 hours ahead of time Before each meeting there was a very explicit agenda. This was circulated out 24 hrs in advance, at almost exactly the 24 hr mark the professors would inquire into the delay in the agenda. This early circulation allowed for: Time to review and prepare Ability to make modifications A sample agenda may look something like: (5

## An interview on what makes Postgres unique (extensions)

DevFeed: [An interview on what makes Postgres unique (extensions)](<https://devfeed.tech/articles/an-interview-on-what-makes-postgres-unique-extensions-41222.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/11/13/postgres-interview-from-art-of-postgresql/>)

Author: Map

Published: 2019-11-13T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [extension](<https://devfeed.tech/tags/extension.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>)

### AI overview

An interview excerpt discusses why PostgreSQL extensions matter to the project and ecosystem. The interviewee argues that extensions have expanded PostgreSQL beyond a traditional relational database into a broader data platform, with examples including hstore, GIS, HyperLogLog, and TopN.

### Source excerpt

I've been at dinners before with developers that admitted developers, themselves included, can be a bit opinionated. In one case one said for example, "I love Postgres, but I have no idea why." They were sitting at the wrong table to use Postgres as an example... But it is quite often that I am asked Why Postgres. In fact a little over a year ago good friend Dimitri Fontaine asked if he could interview me for a book he's working on for Postgres. I've long said their is a shortage of good books about Postgres and he's done a great job with his in providing a guide targetted at developers, not just DBAs, that want to become better with their database. What follows is the excerpt of the interview from the book. And if you're interested in picking up a copy he was friendly enough to share a discount code you can find below. Intro Craig heads up the Cloud team @citusdata now running product for Azure Postgres since being acquired by Microsoft. Citus extends Postgres to be a horizontally scalable distributed database. If you have a database, especially Postgres, that needs to scale beyond a single node (typically at 100GB and up) Craig is always happy to chat and see if Citus can help. Previously Craig has spent a number of years @heroku, a platform-as-a-service, which takes much of the overhead out of IT and lets developers focus on building features and adding value. The bulk of Craig's time at Heroku was spent running product and marketing for Heroku Data. In your opinion, how important are extensions for the PostgreSQL open source project and ecosystem? To me the extension APIs and growing ecosystem of extensions are the biggest advancement to Postgres in probably the last 10 years. Extensions have allowed Postgres to extend beyond a traditional relational database to much more of a data platform. Whether it's the initial NoSQL datatypes (if we exclude XML that is) in hstore, to the rich feature set in geospatial with GIS, or approximation algorithms such as HyperLogLog

## How Product Managers and Engineering Managers Can Stay Aligned

DevFeed: [How Product Managers and Engineering Managers Can Stay Aligned](<https://devfeed.tech/articles/the-engineering-manager-product-manager-marriage-41219.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/06/30/The-Engineering-Manager/Product-Manager-Marriage/>)

Author: Map

Published: 2019-06-30T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Product Management](<https://devfeed.tech/topics/product-management.md>), [meetings](<https://devfeed.tech/topics/meetings.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-manager](<https://devfeed.tech/tags/engineering-manager.md>), [manager](<https://devfeed.tech/tags/manager.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [product-management](<https://devfeed.tech/tags/product-management.md>)

### AI overview

The article argues that product managers and engineering managers should present a unified position to their teams. It recommends explicit communication, regular one-on-ones, advance review of team communications, and resolving disagreements privately rather than in team meetings.

### Source excerpt

I've worked as a PM at a number of size companies for a few years now. At a startup and then as a part of a larger company once startups were acquired. I've been the first PM for a team as well as first for a company. I've written at times about product management, and today I'd like to drill into one aspect that doesn't seem to get talked about enough and that is the pairing of product manager and engineering manager. Mom vs. Dad As parents my partner and I have learned very quickly that we need to have a consistent voice and unified view of things. I care that our son watches less power rangers otherwise he's going to use his megazord powers on our TV and we'll be watching a lot more of nothing. My partner cares that when we're visiting family in the south they drink enough water so they don't get dehydrated. Meanwhile my kids are experts at leveraging us to get what they want. My daughter came to me last night asking if she could play on her iPad some. Not knowing if she had or if she'd already given an answer my safest question was have you asked your mom? In the absense of knowing my default isn't a yes or no, it's a "let me learn more." and then potentially discuss it. EM vs. PM As a PM I want us to build a rich and powerful product, but there is a strong balance to doing too little vs. too much. It isn't always a question of doing more, we need to make sure the product is well built. In order to do that we need to say no at times. Saying no, as well as yes, needs to come from a unified front, both engineering and product. If one side is agreeing without being aligned with the other half you're going to wind up with a confused and frustrated team. There are a number of ways engineering managers and product managers can stay aligned. The first starts with being explicit with each other, so if you're struggling with one side communicating things the other don't agree with... sit down and have a conversation about it. From an ongoing perspective you can get to a be

## Come over for dinner

DevFeed: [Come over for dinner](<https://devfeed.tech/articles/come-over-for-dinner-41218.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/05/01/Come-over-for-dinner/>)

Author: Map

Published: 2019-05-01T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [hosting](<https://devfeed.tech/topics/hosting.md>), [trust](<https://devfeed.tech/topics/trust.md>), [scheduling](<https://devfeed.tech/topics/scheduling.md>)

Tags: [hosting](<https://devfeed.tech/tags/hosting.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [remote](<https://devfeed.tech/tags/remote.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>), [trust](<https://devfeed.tech/tags/trust.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

The author describes regularly inviting coworkers, former colleagues, and friends to dinner as an alternative to going out. They argue that shared meals build rapport and trust, support more effective teamwork, and can include remote workers and team members through planned scheduling and rotation.

### Source excerpt

When I first moved to the Bay area I was fresh out of grad school. I was frequently heading out to dinner or to happy hour after work with colleagues. I was young and single, so why not of course. As time passed, marriage, kids, etc. the ability to go out for a quick drink or dinner was competing with various priorities. Dinner and drinks with co-workers was always a great time. It wasn't just about hanging out, it built rapport and trust which I found made me a more effective teammate and product manager. It was about 8 years ago that I started to implement a variation of heading out for dinner and drinks. I started inviting people over for dinner. I still do this regularly. Roughly once a week we end up hosting someone for dinner. Sometimes it is a single person, sometimes it is a group of people. Sometimes it is co-workers, sometimes former colleagues, often friends that don't work in tech. Growing up in the south it was common to have people over, I'd said we did that just as much as going out to dinner with folks. You'd get an invite to go to someone elses place and you'd show up with a bottle of wine or flowers in hand. Initially when I asked people in the Bay area over for dinner I'd get weird looks. Over? Like to your house? The reaction from folks at the end of the night was very often... that was really fun. Thanks for the invite, I can't remember the last time I just sat down at someones place, had a good meal, and conversation. Once I found early success with this I started implementing it pretty methodically. When remote workers were in town I'd make sure to place them at thet top of the list to come if the scheduling worked. Same when friends visit from out of town. I'd also try to regularly rotate through my teams and those that report to me. At one point when I had 22 engineers that I was leading product for I had to do a bit of juggling and stagger things a bit, groups of 4 folks or so at a time and each would be over about once every 6 months. I made

## Using email as an effective tool

DevFeed: [Using email as an effective tool](<https://devfeed.tech/articles/using-email-as-an-effective-tool-41216.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/04/16/Using-email-as-an-effective-tool/>)

Author: Map

Published: 2019-04-16T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [email](<https://devfeed.tech/topics/email.md>)

Tags: [effective](<https://devfeed.tech/tags/effective.md>), [email](<https://devfeed.tech/tags/email.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [tips](<https://devfeed.tech/tags/tips.md>), [tool](<https://devfeed.tech/tags/tool.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

A product manager shares practical ways to use email for cross-functional communication and engagement. The article recommends including meeting notes and action items directly in emails, recirculating substantially revised documents, using personalized mail merge for feedback requests, and encouraging timely discussion on team emails. It presents the author's reported response-rate experiment while noting that the supplied text is incomplete.

### Source excerpt

I send way too many emails in a day. My inbox is very intermingled with my to do list and often represents some form of it. More relevant though is that email is a primary means of how I accomplish work. Being a PM I work cross functionally with other teams (from marketing, to engineering, to sales, to BD, to other product teams) and of course customers. Having to work so cross functionality I've found a lot of hacks I use to be able to better accomplish your goals with email, here is a collection of some of those. Let me be clear, this is not another post about inbox 0, how I swapped to slack. This instead is how I use email to more effectively communicate and get people to engage. In other words it is about making emails more useful, not just getting through them faster. And onto those tips. Don't leave a document in a document Often times I've found folks will collaborate in a document during a meeting or take notes there. After the meeting folks will email the document around, but few seldom actually open. Reasons may be they're not logged in on their phone or it may be they just don't care that much, I'm not really sure. What I do know is that by taking the notes and action items from the doc and including them in the email you will get more people paying attention to them. If you really want to get good at this when there is significant revisions of a work in progress document, re-circulate the updated version via email. Again not just a link to it, but the document itself. Mail merge isn't just for marketing Years ago I sent a company wide request for feedback (to about 120 people). I got less than 3 responses. I ran an experiment the next time I needed the same thing using a mail merge so my same email seemed personal and was from me to them instead of some large alias. I got a response rate of over 45%. Use this wisely... not every email you send needs a response. A broad update can absolutely be to team@, but when you need to get actual feedback and people d

## OKRs aren't going to fix your communication issues

DevFeed: [OKRs aren't going to fix your communication issues](<https://devfeed.tech/articles/okrs-aren-t-going-to-fix-your-communication-issues-41215.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/03/30/OKRs-arent-going-to-fix-your-communication-issues/>)

Author: Map

Published: 2019-03-30T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [meetings](<https://devfeed.tech/topics/meetings.md>)

Tags: [behavior](<https://devfeed.tech/tags/behavior.md>), [change](<https://devfeed.tech/tags/change.md>), [communication](<https://devfeed.tech/tags/communication.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [early-stage](<https://devfeed.tech/tags/early-stage.md>), [founders](<https://devfeed.tech/tags/founders.md>), [management](<https://devfeed.tech/tags/management.md>), [meetings](<https://devfeed.tech/tags/meetings.md>), [notes](<https://devfeed.tech/tags/notes.md>), [okrs](<https://devfeed.tech/tags/okrs.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [priority](<https://devfeed.tech/tags/priority.md>), [recap](<https://devfeed.tech/tags/recap.md>), [results](<https://devfeed.tech/tags/results.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

The article argues that OKRs do not by themselves resolve startup communication problems. Teams must first identify the problem they are trying to solve and explicitly communicate agreed goals, especially as organizations grow and people miss meetings.

### Source excerpt

Talking with a startup a few days ago they asked for my opinions on OKRs. I have slightly mixed opinions on them overall and started to disclose some of those. Though in sharing some of this I had a few immediate realizations that might be broadly applicable. The crux of his question was, at what stage should we put them in place. I've seen a few companies try to put in some form of OKR, and most were met with pretty mixed results. The reason is that OKRs need to change something about your behavior otherwise why put them in place... either change something about the goals you would otherwise have or the methods at which you went about achieving them. Stepping back a bit, my first question and a very focusing question on almost any situation to ask is "What problem are we trying to solve?" In our conversation he actually paused a bit. As he paused a bit longer it was clear that question had not been fully asked or answered. The first and most common case I see with startups trying to put in place OKRs, v2moms, management by objectives is that the team is not aligned and focused on the same goals. But my follow-on question is consistently, have you communicated what you decided you goals were. Startups tend to go through some distinct growing phases. The early stages all the founders are in a room together building out the product. When you get the first few engineers you expand out a little, but still in a single co-working conference room easily. Eventually you need a real office. At the real office stage you start to have an all hands where, this is probably gathered around a large lunch table at first. At all hands no one takes meeting minutes and sends out a recap, instead people take some notes and you assume everyone was present. But, at about 20 people you have at least one person that misses the weekly team meeting and misses something key. In a 1:1 you catch it that it was talked about as a priority... but they weren't there. This very subtle change I've seen l

## Why Microservices Can Increase Setup and Debugging Complexity

DevFeed: [Why Microservices Can Increase Setup and Debugging Complexity](<https://devfeed.tech/articles/give-me-back-my-monolith-41213.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/03/13/Give-me-back-my-monolith/>)

Author: Map

Published: 2019-03-13T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Microservice](<https://devfeed.tech/topics/microservice.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [systems](<https://devfeed.tech/topics/systems.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [complexity](<https://devfeed.tech/tags/complexity.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [docker](<https://devfeed.tech/tags/docker.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [monolith](<https://devfeed.tech/tags/monolith.md>), [rant](<https://devfeed.tech/tags/rant.md>)

### AI overview

This opinion article argues that the move from monolithic applications to microservices can introduce substantial setup, onboarding, debugging, and testing complexity. It notes that containers and orchestration help, but distributed services can make tracing errors and maintaining compatible versions more difficult.

### Source excerpt

It feels like we're starting to pass the peak of the hype cycle of microservices. It's no longer multiple times a week we now see a blog post of "How I migrated my monolith to 150 services". Now I often hear a bit more of the counter: "I don't hate my monolith, I just care that things stay performant". We've actually seen some migrations from micro-services back to a monolith. When you go from one large application to multiple smaller services there are a number of new things you have to tackle, here is a rundown of all the things that were simple that you now get to re-visit: Setup went from intro chem to quantum mechanics Setting up a basic database and my application with a background process was a pretty defined process. I'd have the readme on Github, and often in an hour or maybe a few I'd be up and running when I started on a new project. Onboarding a new engineering, at least for an initial environment would be done in the first day. As we ventured into micro-services onboarding time skyrocketed. Yes, we have docker and orchestration such as K8s these days to help, but the time from start to up and running a K8s cluster just to onboard a new engineer is orders of magnitude larger than we saw a few years ago. For many junior engineers this is a burden that really is unnecessary complexity. So long for understanding our systems Lets stay on the junior engineer perspective for just a moment. Back when we had monolithic apps if you had an error you had a clear stacktrace to see where it originated from and could jump right in and debug. Now we have a service that talks to another service, that queues something on a message bus, that another service processes, and then we have an error. We have to piece together all of these pieces to eventually learn that service a was on version 11 and service q was expecting vesion 12 already. This in contrast to my standard consolidated log, and lets not forget my interactive terminal/debugger for when I wanted to go step by s

## Why I love building developer products

DevFeed: [Why I love building developer products](<https://devfeed.tech/articles/why-i-love-building-developer-products-41212.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/03/12/why-i-love-building-developer-tools/>)

Author: Map

Published: 2019-03-12T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [coding](<https://devfeed.tech/topics/coding.md>), [systems](<https://devfeed.tech/topics/systems.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [service](<https://devfeed.tech/topics/service.md>)

Tags: [developer](<https://devfeed.tech/tags/developer.md>), [developer-products](<https://devfeed.tech/tags/developer-products.md>), [opinions](<https://devfeed.tech/tags/opinions.md>), [philosophies](<https://devfeed.tech/tags/philosophies.md>), [product](<https://devfeed.tech/tags/product.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [software](<https://devfeed.tech/tags/software.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

An opinion piece explains why the author enjoys building developer-focused products. It highlights the potential for software and systems to improve life at scale, the challenge of serving skeptical developers, and the author's personal familiarity with developer-product work.

### Source excerpt

For much of my career I've been focused on building out developer or data focused products with the customer in some form or fashion being a developer on the other end. I fully realize now that I'm destined to spend the rest of my career in that space, either that or trying my hand at wine making. There are a few things that I personally find rewarding about the space that I've shared with a number of people individually lately and thought I would share more broadly. First, software really is eating the world. Often developers and entrepeurs ask about what they could build that would be a good business. The reality is about anything that has not been modernized to as a service and improved with software could be. We have far less developers in the world than we need to execute on all the ways we could improve products and life. To me what is interesting is the last part of that last sentence. It is not that the market for developers is huge, which I do believe it is. It more that when we automate with systems we can get amazing economies of scale. I know folks that reminisce and talk about how we're more stressed being always connected and such and that in the old days people got out and worked the fields and enjoyed the sun. They also absolutely physically exhausted their bodies in the process. The ability to make life better at scale is an interesting one and often done through systems we develop. The second reason is the challenge and the reward. Developers are notoriously tough critics. If it feels/smells like marketing then they have an allergic reaction, and that is probably because much of it is done poorly. If they experience really positive/great marketing they latch on more than the average person. Most developers are by nature a bit skeptical... for some reason this resonates with me. But, I've found they are the largest/biggest supporters once they're excited about something. Personally I'd rather folks more critical and then have a few diehard fans than a

## How can I help? East coast vs. West coast mentalities

DevFeed: [How can I help? East coast vs. West coast mentalities](<https://devfeed.tech/articles/how-can-i-help-east-coast-vs-west-coast-mentalities-41211.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/03/03/how-can-i-help-east-vs-west/>)

Author: Map

Published: 2019-03-03T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [help](<https://devfeed.tech/topics/help.md>)

Tags: [help](<https://devfeed.tech/tags/help.md>), [startups](<https://devfeed.tech/tags/startups.md>)

### AI overview

The author contrasts reactions to offers of help on the East and West Coasts. They describe East Coast responses as more cautious and transactional, while portraying West Coast interactions as more openly helpful and based on the belief that assistance can benefit everyone over time.

### Source excerpt

Often times when I'm traveling on the east coast, whether it is NYC area or back home down south I try to spend some time to catch up with various people. In catching up we'll spend some time talking about what we're both up to, thoughts on tech or in general, and at the end I typically ask "Is there anything in particular I can help with?" More often than not the answer to this question isn't super substantial, which is fine. But what is surprising is the stark contrast on reactions to this question and how it differs from west coast vs. east coast. On the east coast when I ask "How can I help?" I get a look of: What's the catch? Okay, what is it you want me to do for you? There is no way you actually intend to help... Meanwhile on the west coast the mentality is generally quite different. I often have people showing their own willingness to help. It may be someone you know personally that is offering help, but have also seen where someone gets asked for input or help, refers someone else and now you have two people that have known each other for under 5 minutes and one willing to dispense helpful advice or assistance. The how I can help mentality of the west coast seems to follow that offering assistance is not a zero sum game, and by extending some effort now it hopefully comes back around when they need it themselves.

## SQL: One of the most valuable skills

DevFeed: [SQL: One of the most valuable skills](<https://devfeed.tech/articles/sql-one-of-the-most-valuable-skills-41210.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2019/02/12/SQL-One-of-the-most-valuable-skills/>)

Author: Map

Published: 2019-02-12T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [data](<https://devfeed.tech/topics/data.md>), [optimize](<https://devfeed.tech/topics/optimize.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This opinion article argues that SQL is one of the most valuable technical skills because it applies across roles, helps people work directly with data in relational databases, and remains relatively stable over time. The author describes using SQL for product management, system analysis, query optimization, and performance work.

### Source excerpt

I've learned a lot of skills over the course of my career, but no technical skill more useful than SQL. SQL stands out to me as the most valuable skill for a few reasons: It is valuable across different roles and disciplines Learning it once doesn't really require re-learning You seem like a superhero. You seem extra powerful when you know it because of the amount of people that aren't fluent Let me drill into each of these a bit further. SQL a tool you can use everywhere Regardless of what role you are in SQL will find a way to make your life easier. Today as a product manager it's key for me to look at data, analyze how effective we're being on the product front, and shape the product roadmap. If we just shipped a new feature, the data on whether someone has viewed that feature is likely somewhere sitting in a relational database. If I'm working on tracking key business metrics such as month over month growth, that is likely somewhere sitting in a relational database. At the other end of almost anything we do there is likely a system of record that speaks SQL. Knowing how to access it most natively saves me a significant amount of effort without having to go ask someone else the numbers. But even before becoming a product manager I would use SQL to inform me about what was happening within systems. As an engineer it could often allow me to pull information I wanted faster than if I were to script it in say Ruby or Python. When things got slow in my webapp having an understanding of the SQL that was executed and ways to optimize it was indespensible. Yes, this was going a little beyond just a basic understanding of SQL... but adding an index to a query instead of rolling my own homegrown caching well that was well worth the extra time learning. SQL is permanent I recall roughly 20 years ago creating my first webpage. It was magical, and then I introduced some Javascript to make it even more impressive prompting users to click Yes/No or give me some input. Then about

## Why PostgreSQL's Name Causes Ongoing Pronunciation Confusion

DevFeed: [Why PostgreSQL's Name Causes Ongoing Pronunciation Confusion](<https://devfeed.tech/articles/the-biggest-mistake-postgres-ever-made-41209.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2018/10/30/postgres-biggest-mistake/>)

Author: Map

Published: 2018-10-30T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [opinion](<https://devfeed.tech/tags/opinion.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This opinion article argues that PostgreSQL's name is its most notable mistake because the name has led to persistent pronunciation confusion. It explains the relationship between Ingres, Postgres, and PostgreSQL, and notes the project's FAQ on pronunciation.

### Source excerpt

Postgres has experienced a long and great run. It is over 20 years old and has a track record of being safe and reliable (which is the top thing I care about in a database). In recent years it has become more cool with things like JSONB, JIT support, and a powerful extension ecosystem. But, Postgres has made some mistakes along the way, the most notable being the name. Postgres gets its name from Ingress. Ingress was one of the first databases and was lead by Michael Stonebreaker who won a Turing award for Postgres and other works. Ingress began in the early 70s at UC Berkeley, which is still to this day known as a top university when it comes to databases. Out of Ingress came a number of databases you'll still know today such as SQL Server and Sybase. It also as you may have guessed by now spawned Postgres which means Post-Ingress. In the early days of Postgres there was no SQL. No not NoSQL, there was not SQL. Postgres had its own query language. It wasn't until 1995 that Postgres received SQL support, and with its addition of SQL support it updated its name to PostgreSQL. You see, with Postgres becoming PostgreSQL we began a journey of Postgres being mispronounced for its forseeable future and it is still currently the case. Is it really that big of an issue? Well it's big enough that the PostgreSQL website has a FAQ including "How to pronounce PostgreSQL". As it stands today there are two generally accepted names: post-GRES-que-ell Postgres With one of the above there is far less confusion. And in fact I'm not the only one to share this opinion. Tom Lane is a major contributor to every Postgres release for more than the last decade. He's one of the top 10 contributors to open source in general having worked on the JPEG/PNG/TIFF image formats before coming over to database land. Tom has this classic email in the PostgreSQL mailing list: [>> Can i get data in postgre from non-postgre db? > The name is PostgreSQL or Postgres, not postgre. It might help to explain t

## Postgres 11 - A First Look

DevFeed: [Postgres 11 - A First Look](<https://devfeed.tech/articles/postgres-11-a-first-look-41208.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2018/09/20/postgresql-11-a-first-look/>)

Author: Map

Published: 2018-09-20T20:55:56Z

Content type: article

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Usability](<https://devfeed.tech/topics/usability.md>), [parallel](<https://devfeed.tech/topics/parallel.md>)

Tags: [performance](<https://devfeed.tech/tags/performance.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

A first look at PostgreSQL 11 highlights usability improvements, safer addition of NOT NULL columns with default values without a full table rewrite, and maturing parallelism support.

### Source excerpt

Postgres 11 is almost here, in fact the latest beta shipped today, and it features a lot of exciting improvements. If you want to get the full list of features it is definitely worth checking out the release notes, but for those who don't read the release notes I put together a run down of some what I consider the highlight features. Quitting Postgres This is a small usability feature, but so long over due. Now you can quit Postgres by simply typing quit or exit. Previously you had to use Ctrl + D or \q. As a begginer it's one thing to jump into a psql terminal, but once in if you can't figure out how to quit it's a frustrating experience. Small usability features, such as this and watch in an earlier release, are often lost in the highlighted features which talk about performance or new data types. Improvements like this really go a long way for making Postgres a better database for everyone. Fear column addition no more Brandur had a great in depth write-up on this feature already, but it falls somewhere into the category of the above as well as a performance improvement. Previously when you added a new column that was NOT NULL with a default value Postgres would have to take a lock and re-write the entire table. In a production environment on any sizable table for all practical purposes the result was an outage. The work around was to break your migrations apart to be a several step process. With Postgres 11 you can add a new column to a table that is not null with a default value. The new row will get materialized on your database without requiring a full re-write. Here is to having to think less about your migrations. Of course performance is a highlight No Postgres release would be complete without some performance improvements. This release there are really two areas that feature key improvements around performance. Parallelism continuing to mature We first saw parallelism support back in PostgreSQL 9.6. At the time it was primarily for sequential scans, whic

## PostgresOpen 2018 - First look at talks

DevFeed: [PostgresOpen 2018 - First look at talks](<https://devfeed.tech/articles/postgresopen-2018-first-look-at-talks-41207.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2018/06/27/postgresopen-talk-list/>)

Author: Map

Published: 2018-06-27T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [debug](<https://devfeed.tech/topics/debug.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [conference](<https://devfeed.tech/tags/conference.md>), [databases](<https://devfeed.tech/tags/databases.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [talks](<https://devfeed.tech/tags/talks.md>)

### AI overview

The article previews selected talks for PostgresOpen 2018, highlighting sessions on debugging the PostgreSQL planner, indexes, extension APIs, and connection pooling. It also mentions the conference dates, location, and early-bird tickets.

### Source excerpt

PostgresOpen is just a few months away and our list of talks is now live and available on the PostgresOpen website. This year selecting the talks was the hardest yet not only due to the number of talk submissions, but also the across the board high quality of submissions. There is hopefully something for everyone among the talks, at least if you like Postgres that is. If you're thinking about joining us I'd love to see you there and buy you a beer or coffee. The conference is September 5-7 in downtown San Francisco, and early bird tickets are open for just another few weeks. If you want to save some money on tickets grab it and the room now before things jump. But, if you're curious for a sampling of a few of the talks I thought I'd break down my top five I'm personally most excited about: Debugging the Postgres planner Okay, this one immediately caught my atttention. Melanie will start with the basics of an explain plan to progress down into an actual bug within the Postgres planner, how to can debug it in Postgres, and then write a patch for a fix herself. This talk is well beyond my depth as I'll likely never contribute code to the Postgres planner, but seems extremely entertaining and likely to highlight both performance profiling as well as useful debugging tips. Cleaning out Crocodiles teeth with PostgreSQL indexes I saw Louise give a super practical talk on undertanding explain this year in PgDay Paris. It was both valuable for application developers that aren't Postgres experts as well as surfaced knowledge for those that thought they already understood explain. I'm excited to hear her take on indexes, but maybe even more excited for the storytelling that will come along with this talk. A talk that can be put to a story always becomes a bit easier to follow the journey than simply the technical facts. How PostgreSQL extension APIs are changing the face of relational databases I've said it before personally that Postgres is becoming more of a data platform th

## Microsoft announces general availability of a Postgres offering with built-in high availability

DevFeed: [Microsoft announces general availability of a Postgres offering with built-in high availability](<https://devfeed.tech/articles/same-great-postgres-with-a-new-player-in-town-41206.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2018/03/20/same-great-postgres-new-player-in-town/>)

Author: Map

Published: 2018-03-20T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Heroku Postgres](<https://devfeed.tech/topics/heroku-postgres.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [azure](<https://devfeed.tech/tags/azure.md>), [database](<https://devfeed.tech/tags/database.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [production](<https://devfeed.tech/tags/production.md>), [uptime](<https://devfeed.tech/tags/uptime.md>)

### AI overview

The article discusses Microsoft's general availability announcement for a Postgres offering. It highlights built-in high availability, production-oriented workloads, compliance claims, a 99.99% uptime SLA, and availability in 22 regions, while viewing the offering as increased competition and choice for Postgres users.

### Source excerpt

Many of us have known how great Postgres was for years. In fact I recall a conversation with some sales engineers about 6 years ago that previously worked for a large database vendor that really no one likes down in Redwood City. They were remarking how the biggest threat to them was Postgres. At first they were able to just brush it off saying it was open source and no real database could be open source. Then as they dug in they realized there was more there than most knew about and they would have to continually be finding ways to discredit it in sales conversations. Well it doesn't look like those SEs or the rest of that company was too successful. Postgres is certainly having it's moment, and I personally don't expect it to fade soon. An equally interesting shift I've watched from the outside has been Microsoft's shift to support and engage with the open source movement. Personally that shift is extremely exciting to see, especially today as they announce their general availability of their Postgres offering. And with their announcement it looks they're not just dabbling but shipping a very compelling offering, notably high availability is built-in which means they're very much targetting production workloads. With their GA release there are a number of interesting boxes checked: HIPPA, SOC, ISO compliances 99.99% uptime SLA Available in 22 regions Personally I'm looking forward to the new competition for Postgres users as it'll make Postgres better and better for all. When I was at Heroku and was running product for Heroku Postgres 7 years ago we were the only large major provider. Today that landscape looks a lot different and it just means more choice and more quality if you want to run Postgres. So welcome Microsoft, I look forward to giving Azure Postgres a try.

## Postgres hidden gems

DevFeed: [Postgres hidden gems](<https://devfeed.tech/articles/postgres-hidden-gems-41205.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2018/01/31/Postgres-hidden-gems/>)

Author: Map

Published: 2018-01-31T20:55:56Z

Content type: article

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Database](<https://devfeed.tech/topics/database.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Network Operations](<https://devfeed.tech/topics/network-operations.md>), [Statistics](<https://devfeed.tech/topics/statistics.md>)

Tags: [functions](<https://devfeed.tech/tags/functions.md>), [jsonb](<https://devfeed.tech/tags/jsonb.md>), [lateral](<https://devfeed.tech/tags/lateral.md>), [network-operations](<https://devfeed.tech/tags/network-operations.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [psql](<https://devfeed.tech/tags/psql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [statistics](<https://devfeed.tech/tags/statistics.md>), [text](<https://devfeed.tech/tags/text.md>), [unicode](<https://devfeed.tech/tags/unicode.md>), [window-functions](<https://devfeed.tech/tags/window-functions.md>)

### AI overview

The article collects PostgreSQL features that the author and contributors consider useful or easily overlooked. It highlights capabilities including ltree, citext, date arithmetic, jsonb, lateral joins, window functions, custom foreign data wrappers, replication slots, range types, statistics, logical decoding, and psql features.

### Source excerpt

Postgres has a rich set of features, even when working everyday with it you may not discover all it has to offer. In hopes of learning some new features that I didn't know about myself as well as seeing what small gems people found joy in I tweeted out to see what people came back from. The response was impressive, and rather than have it lost into ether of twitter I'm capturing some of the responses here along with some resources many of the features. @listrophy - $ brew postgresql-update database Though personally I prefer Postgres.app ;) @pat_shaugnessy - ltree Pat has a great post that walks through ltree @billyfung - citext A really handy datatype for case insensitive text @eeeebbbbrrrr - date math with intervals I couldn't agree more on this one, working with time in Postgres is the easiest time I've every had @DataMiller - The jsonb datatype and lateral joins I'd argue it's hard to claim now JSONB is a hidden gem, but lateral joins are certain a great one @ideasasylum - row_number() over(partition http://orders.site_id order by orders.created_at) Window functions are definitely a handy feature was my hidden (to me) discovery this week @franckverrot - Index access method, and custom FDWs @jonjensen0 - Set-returning functions and custom aggregate functions can be very helpful. @ascherbaum - psql -x Psql is indeed awesome and can be well tuned @Abstr_ct - The fact that the docs are fantastic and all hidden gems are actually readily available. Oh, and pl/brainfuck obviously @Halpin_IO - Subnetting and network operations @jkatz05 - Replication slots, both physical and logical. They've made setting up replication infinitely easier. And range types. Because they're awesome. @petereisentraut - Unicode table borders @_avichalp Notify/listen @simonw - The fact that GIN indices can make LIKE queries run fast even if the % isn't just at the end of the string @javisantana - it has a statistics system to plan queries that can be used by the user when accuracy does not matt

## Sourcing developer marketing content

DevFeed: [Sourcing developer marketing content](<https://devfeed.tech/articles/sourcing-developer-marketing-content-41204.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2017/12/28/Sourcing-developer-marketing-content/>)

Author: Map

Published: 2017-12-28T20:55:56Z

Content type: article

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Users](<https://devfeed.tech/topics/users.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [content](<https://devfeed.tech/tags/content.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developer-marketing](<https://devfeed.tech/tags/developer-marketing.md>), [email](<https://devfeed.tech/tags/email.md>), [marketing](<https://devfeed.tech/tags/marketing.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

The article shares ways for developer-focused companies to source high-quality marketing content from within their organizations. It recommends turning well-written engineering emails into blog posts and capturing interactions with newer product users to maintain a beginner mindset.

### Source excerpt

I spend a lot of time with dev tool and data companies. I think I've more or less banished myself to a life of working in the space, no consumer products for me. In that world a common topic that comes up amongst marketing teams is how do I get my team to contribute to content? Sometimes the person already has an idea of how they want the team to jump onto the bandwagon of their plan, sometimes they're entirely open minded. I won't get into pros and cons of various approaches here, rather after sharing some of my approaches in one on one settings I thought it could be useful to share more broadly here. Turn emails into blogs I'm a big fan of high quality content when it comes to developer focused products. Yes, you can publish x vs. y with FUD and get some traction with it. You can publish high level customer stories that don't get down into the details. But publishing high quality deep technical content that other engineers appreciate gives you a huge head start in getting buy in from your customers. The best thing about much of this type of content is you likely already have it sitting within your organization. Engineers spend a lot of time being thorough and articulate in their emails to their peers. If you see a well written email from one engineer to the engineers@ list and then others chime in either with questions, follow-up, or praise then it's likely a great candidate for a blog post. We recently had one of these at Citus where another engineer replied with "Nice blog post :)", a few weeks later we had a post for the rest of the world to read. The thing about emails though is the engineers won't usually take and turn them into a blog post. Get a technically minded person that likes to write and put some framing around it, pull out relevant details, and collaborate with the engineer. I've often found going from one of these emails to a fully published blog post can be anywhere from 2-8 hrs (including reviews and edits). Beginner mindset with tickets As your

[Next page](<https://devfeed.tech/sources/craig-kerstiens.md?cursor=WyIyMDE3LTEyLTI4VDIwOjU1OjU2KzAwOjAwIiwgIjg3NTc1NjIyLTMxYzAtNDkwYi1iZDRmLTRkYzUyMmJlYTkxYSJd>)