20210816 - The Art of PostgreSQL
Goals
Reading notes and exploration for The Art of PostgreSQL which is available at https://theartofpostgresql.com/
GitLab has an Enterprize license, we can sign up to access our copy using (confidential) issue https://gitlab.com/gitlab-org/database-team/team-tasks/-/issues/23
There is also a blog: https://tapoueh.org/
Setting up build/test/run apparatus
Using the Docker image
When you sign up for the book (or are added to a company Enterprize subscription), you get sent to a website to download materiels. One of them is a docker container image with the sample database and PostgreSQL installed.
To use it:
❯ docker load -i MasteringPostgreSQLinAppDev.docker.tar.gz
45f0f161f074: Loading layer [==================================================>] 105MB/105MB
581b41542db0: Loading layer [==================================================>] 15.73MB/15.73MB
a095b064e083: Loading layer [==================================================>] 17.36MB/17.36MB
6c88ff656cf3: Loading layer [==================================================>] 220.1MB/220.1MB
0b217a41fe3a: Loading layer [==================================================>] 313.2MB/313.2MB
bfc10e3c9254: Loading layer [==================================================>] 7.68kB/7.68kB
417e68a7720a: Loading layer [==================================================>] 331.5MB/331.5MB
eea93733c976: Loading layer [==================================================>] 1.096MB/1.096MB
f5045d33c1cc: Loading layer [==================================================>] 94.72MB/94.72MB
bb66e1b58489: Loading layer [==================================================>] 3.072kB/3.072kB
5da8ff17d709: Loading layer [==================================================>] 3.072kB/3.072kB
363483fd9022: Loading layer [==================================================>] 3.072kB/3.072kB
811d768ea89b: Loading layer [==================================================>] 3.072kB/3.072kB
3e399f392a24: Loading layer [==================================================>] 3.072kB/3.072kB
6a2330205482: Loading layer [==================================================>] 4.096kB/4.096kB
Loaded image: dimitri:appdev
And then run it, e.g. docker run --rm -it dimitri:appdev bash
(but actually one would want to set up a persistent storage for the database to save having to restore every time).
Experiment Procedures
https://gitlab.com/-/snippets/1970115 How to get PostgreSQL running inside a Docker container, on a Mac.
- Especially Gabriel's note
Outcomes
Conclusions
Related
https://gitlab.com/gitlab-org/database-team/team-tasks/-/issues/167 is an issue for this year's PostgreSQL 2021 Training with Cybertec covering more sysadimn topics.
Training time
- This is a 5-day training that will run from 2021-08-30 to 2021-0903
- Similarly as last year, it will be offered at two different time slots each day. One is at 11:00-15:00 UTC+2 and the other is at 8:00-12:00 UTC-7
- The recording will be retained for asynchronous learning for about two weeks
Training Zoom Links
-
11:00-15:00 UTC+2 Session: https://us06web.zoom.us/j/83634219404?pwd=bm5pVjVsRkdZSjJjcHUxMjh5bFhOdz09
-
8:00-12:00 UTC-7 session: https://us06web.zoom.us/j/83039412575?pwd=Ull2U0hhc3F4RmRLaGgvMWFMMVZKdz09
Agenda
Day | Content |
---|---|
1 | Indexing / Transactions and locking |
2 | Functions / Json / Partitioning |
3 | Memory and cache management / Backup and restore |
4 | Replication / High availability / "Complex" architectures |
5 | Execution Plans / Configuration and resource management |
Further reading
- Mastering PostgreSQL 12, 3rd ed, November 2019, Hans-Jürgen Schönig