There’s a very rich set of PostgreSQL functions to process text, you can find them all at the String Functions and Operators documentation chapter, with functions such as overlay, substring, position or trim. Or aggregates such as string_agg. And then regular expression functions, including the very powerful regexp_split_to_table.
In a previous article here we saw How to Write SQL in your application code. The main idea in that article is to maintain your queries in separate SQL files, where it’s easier to maintain them. In particular if you want to be able to test them again in production, and when you have to work and rewrite queries.
This release of pgloader is following the tradition of simplifying things for users, or if you allow me to quote Alan Kay, I believe that if simple things should be simple, complex things should be possible.
The reason why I like Unicode a lot is because it allows me to code in text
based environments and still have nice output. Today, we’re going to play
Regional Indicator Symbol,
which is implemented as a Unicode combinaison of letters from 🇦 to 🇿. For
instance, if you display 🇫 then 🇷 concatenated together, you get 🇫🇷. Let’s
try that from our PostgreSQL prompt!
The modern calendar is a trap for the young engineer’s mind. We deal with the calendar on a daily basis and until exposed to its insanity it’s rather common to think that calendar based computations are easy. That’s until you’ve tried to do it once. A very good read about how the current calendar came to be the way it is now is Erik’s Naggum The Long, Painful History of Time.
Business logic is supposed to be the part of the application where you deal with customer or user facing decisions and computations. It is often argued that this part should be well separated from the rest of the technical infrastructure of your code. Of course, SQL and relational database design is meant to support your business cases (or user stories), so then we can ask ourselves if SQL should be part of your business logic implementation. Or actually, how much of your business logic should be SQL?
Sometimes you need to dive in an existing data set that you know very little about. Let’s say we’ve been lucky to have had a high level description of the business case covered by a database, and then access to it. Our next step is figuring out data organisation, content and quality. Our tool box: the world’s most advanced open source database, PostgreSQL, and its Structured Query Language, SQL.
Kris Jenkins cooked up a very nice way
to embed SQL in your
code: YeSQL for Clojure. The main
idea is that you should be writing your SQL queries in
.sql files in your
code repository and maintain them there.
The idea is very good and it is now possible to find alternative
implementations of the Clojure yesql library in
other languages. Today, we are going to have a look at one of them for
the python programming
A recent interview question that I had to review was spelled like this:
Find missing int element into array 1..100
Of course at first read I got it wrong, you have only one integer to look
for into the array. So while the obvious idea was to apply classic sorting
techniques and minimize array traversal to handle complexity (time and
space), it turns out there’s a much simpler way to do it if you remember
your math lessons from younger. But is it that much simpler?
PostgreSQL Conference US took place in New York City and I had the pleasure to be a speaker there. I presented there a talk about why You’d Better Have Tested Backups. The important bit is that backups are not interesting, recoveries are. Also the only way to make sure a backup is successful is to be able to use it for recovery.