SQL

SQL is one of the most common and popular languages for managing databases. Your databases contain data in a format that your programs can access and use. They are obviously a very important facet of your technology stack. Learn how they work. Learn how to spin up a database whenever you need one.

Both QML and Python include SQLite by default. Definitely get familiar with it. Learn how to use it to manage the databases in your local development environment. For production projects, like websites, you will upgrade to MariaDB, MySQL or PostgreSQL. I recommend PostgreSQL because it comes out of the BSD shop, with the BSD license, and the developers are striving to make it the most advanced open-source database in the world.

PostgreSQL is an enterprise level Database Management System (DBMS). It is very large and complex. It can easily contain billions of records. You will learn how to understand and use it by investigating the basic concepts and terminology. Learning PostgreSQL will also prepare you to get a job as a professional data processing specialist, if you ever want to pursue that path.

pg_ctl is your primary tool for managing your PostgreSQL database. It’s like the systemctl command for systemd. psql is another centrally important command that enables you to manage your databases. The postmaster is the root of all PostgreSQL processes. A PostgreSQL database cluster is a postmaster and a group of subsidiary processes, all managing a shared data directory that contains one or more databases (Craig Ringer, stackoverflow, 2016).

All the data in the cluster, including the user’s data and the cluster configuration, are contained in the PGDATA directory. postgresql.conf is the primary configuration file for PostgreSQL. It is a plain text file that configures the cluster when you start it.