Why should you learn PostgreSQL?
A few weeks ago I asked one of my colleagues why I should learn PostgreSQL. Harald’s answer was: “To start any new journey of learning, asking ‘why’ is an excellent question. It gives us both a direction to send us on our way and an expected destination. Without a clear path to follow, our brains tend to filter out new information.” He then came up with some very valid reasons to learn PostgreSQL.
SQL is a powerful tool to get data under control
Why should we learn Structured Query Language (SQL)? SQL was initially created to enable non-IT specialists to query information from datasets without needing to ask a programmer for help. SQL aimed to be much more powerful than interfaces such as query by example, and more flexible than prebuild reports. The objective was to enable new ways of examining and querying existing data.
SQL is a declarative language – the user tells the database which data is required and the database decides how to perform the command. The emphasis is on the result of the process rather than the process itself – the ends rather than the means. This contrasts to the ancient way of programming, in which the user had to describe the data gathering step-by-step. However, the success and efficiency of SQL relies upon users asking the correct questions, and this is where companies such as 2ndQuadrant can help. 2ndQuadrant teaches database users how to best phrase their questions in order to receive the fastest, most accurate answers from the database.
Besides being able to use SQL to query databases, learning it also encourages us to build powerful mental models to think about data. We gather and store more and more data – and being capable of reasoning that data is a powerful mental ability. Just think of all the data collected by big social networks or agencies that protect the free world!
PostgreSQL is free, open and unlimited
PostgreSQL is available for free and it is open. It will never be bought. This makes it the best tool for learning about relational databases. PostgreSQL has very exhaustive and detailed documentation. Although tough on the beginner – it is hard to find an easy entry point – having mastered the first step, you will never run out of information to further your knowledge.
Look at the source, Luke, may be the ultimate answer when your progress stalls – which isn’t exactly comforting, but much better than knowing there is no possible answer.
PostgreSQL works hard
Besides all the cool kids running NoSQL for their Web startup, relational databases are still the workhorses of the computer industry. PostgreSQL has an advanced implementation of SQL and is very close to the SQL standard. So your knowledge would be of use as it is transferable, so other SQL databases are available to you.
It’s good for your mind – and your career
Still need convincing that learning SQL is worth it? Well, in addition to creating new neural pathways in your brain, it could do wonders for your career prospects as it will make you a desirable candidate. Having “PostgreSQL knowledge” in your CV and online profile will almost certainly attract the attention of recruiters, as the role of Data Scientist has been called, by the Harvard Business Review, “The Sexiest Job of the 21st Century”. Knowing about databases moves you in this direction.
Dear reader, maybe it is not too late for you or for me, and hopefully a lot of others, to understand the big mystery of SQL. Are you convinced? If so, do not miss our next post when Harald will be teaching us the basics. Join me soon!
Harald has been working with PostgreSQL as an application programmer and DBA since 1996. Since 1999 he has been active as an entrepreneur, doing development with various SQL databases and using Python. He joined 2ndQuadrant in 2010 and founded 2ndQuadrant Deutschland GmbH in 2011. He has a wide range of training experience and renowned for hosting ‘lightning talks’ at many international events.
Thanks for the nice article! Looking forward to Haralds stuff. Would like to see some real world examples of using the full text search functionality of Postgres.