Course: PostgreSQL for ProgrammersPgSQL-PROG

The course is available on demand.

Remote training: online live with a trainer and a group. Available on demand, at time and place convenient to you, for groups of at least 5 participants.

exempt from VAT

Price: 1490 EUR

refreshments included

computer station included

first minute (30+ days before) - 3%

Category: PostgreSQL

Complex training leading from SQL language basics to advanced features appearing only in PostgreSQL system. Completing the course PostgreSQL for programmers will give you abilities essential to competently design, implement and maintain applications based on that database engine.

The training is conducted in a workshop form and it focuses on practical issues. Training materials include many examples and exercises and students do them assisted by our instructor. The exercises represent the most typical problems encountered by programmers dealing with applications based on a database.

Among the issues raised during the training, one will find relational modelling, correct usage of corectness constraints and foreign keys. We will not forget about performance aspect, suggesting how to model and build optimum SQL queries, how to use indexes and what should be especially considered while reading query plans generated by the base.

Our instructors have many years of experience with PostgreSQL, both as administrators and as programmers. One of our trainers is a PostgreSQL contributor and a regular speaker at the world’s largest conference on the topic.


5 days


  1. Relational databases – basics
    • Understanding relations
    • Table, row, column
    • Primary keys
    • Foreign keys, associations between tables
  2. Database client programs
    • Command line client psql
    • Graphical client pgAdmin
    • Web client phpPgAdmin
  3. SQL language
    • Data extraction, SELECT clause
    • Data types in SQL
    • Functions and operators
    • The method of performing SQL queries
    • Filtering, WHERE clause
    • Grouping, GROUP BY and HAVING clauses
    • Set-theoretic operations, UNION, INTERSECT, EXCEPT
    • Joining multiple tables
    • DISTINCT and DISTINCT ON operations
  4. Advanced SQL issues
    • Perspectives and subqueries
    • OLAP functions (window functions)
    • Common Table Expressions, recursive queries
    • Transactions and isolation levels, ACID concept
    • Rows blocking, concurrency control
  5. Databases designing
    • Examples of relational modelling
    • Normal forms, best practises
    • Coherence constraints
    • Popular methods of database notations schemas
  6. Data modification
    • INSERT, DELETE, UPDATE commands
    • Defining, modification and deleting tables
    • Creating coherence constraints
  7. Performance
    • SQL language executor implementation
      • Access to the disk data
      • Creating JOINs
    • Queries optimization
      • Indexes types and usage
      • Partial and functional indexes
      • Reading EXPLAIN command
    • Prepared statements, PREPARE construction
    • Importing bulk data, COPY command
    • Genetic query optimizer
  8. Access from programming languages level
    • The most popular bindings for programming languages
    • Parameterized queries
    • Preventing SQL Injection attacks
    • PostgreSQL binary protocol
  9. Stored procedures
    • PL/pgSQL language
      • Function types , volatile, stable, immutable
      • Loops, conditional statements
      • Error handling
    • Triggers
    • Other embedded languages
      • Trusted and untrusted languages
      • Example procedure in embedded Python
  10. Advanced possibilities
    • Extensions hstore i json
    • Full text search
    • Range types
    • Exclusion constraints
    • Defining one’s own types and domains
    • Prepared transactions, PREPARE TRANSACTION command
    • Asynchronous notifications, NOTIFY command
  11. Partitioning
    • The objectives of the database partitioning
    • Partitioning via inheritance
    • Other partitioning strategies

Download as PDF

Audience and prerequisites

The course is designed for people with no experience with relational databases and SQL language, mainly programmers or alternatively analysts interested also in programming and performance aspects.

We recommend participants are able to program in any language giving access to PostgreSQL.


Course participants receive completion certificates signed by ALX.

There are currently no entries

Enter your e-mail address and we will notify you about future dates


Ask us anything about this training

* I hereby give my consent to the processing of my personal data by ALX Training Ltd. for the purpose of this request.