An open API service indexing awesome lists of open source software.

https://github.com/infinite-education/postgresql-dba-roadmap

PostgreSQL DBA roadmap: skillset to become a PostgreSQL DBA
https://github.com/infinite-education/postgresql-dba-roadmap

engeering postgresql roadmap roadmaps study-plan

Last synced: 6 months ago
JSON representation

PostgreSQL DBA roadmap: skillset to become a PostgreSQL DBA

Awesome Lists containing this project

README

          

# [PostgreSQL DBA](https://infinite.education/view/PostgreSQL_DBA_2)
The intent of this guide is to give you an idea about the DBA landscape and to help guide your learning if you are confused. The roadmap is highly opinionated — neither, knowing everything listed in the roadmap, nor the order of items given in the roadmap is required to be followed in order to be a DBA.

## **[Develop Postgres hacker skills](https://infinite.education/view/develop_postgres_hacker_skills)**

**Daily reading and answering in mailing lists**
* `Article` [PostgreSQL: PostgreSQL Mailing List Archives](https://www.postgresql.org/list/)

**Reviewing patches**
* `Article` [PostgreSQL: PostgreSQL Mailing List Archives](https://www.postgresql.org/list/)

**Writing patches, attending in Commitfests**
* `Article` [PostgreSQL: PostgreSQL Mailing List Archives](https://www.postgresql.org/list/)

## **[Postgres troubleshooting techniques](https://infinite.education/view/postgres_troubleshooting_techniques)**
* `Article` [The USE Method](http://www.brendangregg.com/usemethod.html)
* `Article` [Linux Performance](http://www.brendangregg.com/linuxperf.html)

**Troubleshooting methods**

**Operating system tools**

**Postgres tools**

**External tracing/profiling tools**

**Query analyzing**

**Log analyzing**

**Postgres system views**

## **[PostgreSQL Security](https://infinite.education/view/postgresql_security)**
* `Article` [PostgreSQL: Documentation: 12: Chapter 20. Client Authentication](https://www.postgresql.org/docs/current/client-authentication.html)
* `Article` [PostgreSQL: Documentation: 12: Chapter 21. Database Roles](https://www.postgresql.org/docs/current/user-manag.html)

**pg_hba.conf**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

**Authentication models**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

**SSL settings**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

**Advanced Topics**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

**Objects privileges**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

**roles**
* `Article` [PostgreSQL: Documentation: 9.1: The pg_hba.conf File](https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)

## **[Infrastructure DBA skills](https://infinite.education/view/infrastructure_dba_skills)**

**Applications Load Balancing and Service Discovery**

**Resource usage and provisioning, capacity planning**

**Kubernetes**

**Connection pooling**

**Upgrading procedures**

**Backup & Recovery Tools**

**Infrastructure monitoring**

**High availability and cluster management tools**

## **[Develop architect skills](https://infinite.education/view/develop_architect_skills)**

**RDBMS**

**Differences between Postgres and other RDBMS and NoSQL databases**

**Postgres forks and extensions**

## **[Develop application DBA skills](https://infinite.education/view/develop_application_dba_skills)**
* `Article` [The Art of PostgreSQL: a modern PostgreSQL book in 2020](https://theartofpostgresql.com)

**Data partitioning and sharding patterns**

**Data import and export**

**Bulk Loading and Processing**

**Queues**

**Migrations**

**Database normalization and normal forms**

## **[Postgres advanced topics](https://infinite.education/view/postgres_advanced_topics)**
* `Article` [PostgreSQL: Documentation: 12: Chapter 42. PL/pgSQL - SQL Procedural Language](https://www.postgresql.org/docs/current/plpgsql.html)
* `Article` [The Internals of PostgreSQL : Introduction](http://www.interdb.jp/pg/index.html)

**Low level internals**

**Advanced SQL topics**

**Fine-grained tuning**

## **[Automate Routine](https://infinite.education/view/automate_routine)**

**Automation using shell scripts or any other favourite language**

**Configuration management**

## **[SQL optimization technics](https://infinite.education/view/sql_optimization_technics)**
* `Book` [SQL Antipatterns: Avoiding the Pitfalls of Database Programming](https://www.r-5.org/files/books/computers/languages/sql/style/Bill_Karwin-SQL_Antipatterns-EN.pdf)
* `Article` [SQL Indexing and Tuning e-Book for developers: Use The Index, Luke covers Oracle, MySQL, PostgreSQL, SQL Server, ...](https://use-the-index-luke.com/)

**SQL schema design patterns and anti-patterns**

**SQL queries patterns and anti-patterns**

**Indexes, and their use cases**

## **[basic RDBMS terms and concepts](https://infinite.education/view/basic_rdbms_terms_and_concepts)**
* `Tutorial` [PostgreSQL: Documentation: 13: Appendix M. Glossary](https://www.postgresql.org/docs/13/glossary.html)
* `Tutorial` [SQL and Relational Theory - Christopher J. Date, 2009](http://file.allitebooks.com/20151111/SQL%20and%20Relational%20Theory,%203rd%20Edition.pdf)
* `Tutorial` [Database Design and Relational Theory: Normal Forms and All That Jazz | C.J. Date | download](https://b-ok.cc/book/1311299/c298a7)

**Databases high-level concepts**

**Object model**

**Relational model**

## **[SQL concepts](https://infinite.education/view/sql_concepts)**
* `Article` [PostgreSQL: Documentation: 12: Part II. The SQL Language](https://www.postgresql.org/docs/current/sql.html)
* `Article` [PostgreSQL Tutorial - Learn PostgreSQL from Scratch](https://www.postgresqltutorial.com/)
* `Article` [DB Fiddle - SQL Database Playground](https://www.db-fiddle.com/)
* `Article` [PostgreSQL: Documentation: 12: Chapter 2. The SQL Language](https://www.postgresql.org/docs/current/tutorial-sql.html)

**COPY**
* `Article` [Import CSV File Into PosgreSQL Table](https://www.postgresqltutorial.com/import-csv-file-into-posgresql-table/)

**DDL queries**
* `Article` [Import CSV File Into PosgreSQL Table](https://www.postgresqltutorial.com/import-csv-file-into-posgresql-table/)

**Understand basic data types**
* `Article` [Import CSV File Into PosgreSQL Table](https://www.postgresqltutorial.com/import-csv-file-into-posgresql-table/)

**DML queries**
* `Article` [Import CSV File Into PosgreSQL Table](https://www.postgresqltutorial.com/import-csv-file-into-posgresql-table/)

## **[Configure Postgres](https://infinite.education/view/configure_postgres)**
* `Article` [PostgresqlCO.NF: PostgreSQL configuration for humans](http://postgresqlco.nf/)

**postgresql.conf**
* `Article` [PostgresqlCO.NF: PostgreSQL configuration for humans](http://postgresqlco.nf/)

## **[Install and run PostgreSQL](https://infinite.education/view/install_and_run_postgresql)**
* `Article` [Docker Hub](https://hub.docker.com/_/postgres)
* `Article` [PostgreSQL: Downloads](https://www.postgresql.org/download/)

**Managing Postgres service**

**Package managers**

**Docker**

To see a interactive roadmap click on picture

[![alt text](https://raw.githubusercontent.com/infinite-education/postgresql-dba-roadmap/main/PostgreSQL_DBA_2.png)](https://infinite.education/skillset/PostgreSQL_DBA_2)