Session
FOSDEM Schedule 2021
PostgreSQL

Database schema management for lazybones: from chaos to heaven

D.postgresql
Julien Riou
Performing schema changes on a live system is challenging because it often involves high level of locks leading to downtime. It becomes harder and harder when the number of databases to manage raise continuously. At OVHcloud, a major cloud computing provider in Europe, we used to manage such changes approximately. With our startup mindset, we used to yell "Who can ALTER my database?" and hope for someone sitting next to you to answer. Database engineers were used to copy paste bunch of SQL statements on production databases directly. What happens if a bad character is inserted? What if there is no transaction in the script? What if you run the migration on the wrong database? It works, sometimes. Lots of tasks are boring. This one was on top of our list. In this talk, you will discover our feedback on how we have reduced efforts, time and human errors by automating databases schema migrations using git, code reviews, CI/CD, migration tools, service discovery and automation systems at the OVHcloud scale.

Additional information

Type devroom

More sessions

2/6/21
PostgreSQL
Lætitia Avrot
D.postgresql
FOSDEM would not be FOSDEM without waffles... What if we coud use Postgres to make waffles ? During this talk we will use the excuse of FOSDEM and Brussels to create an extension that will look for the best waffle recipe and use Postgres to display it. During this journey, on top of making delicious waffles, we will : - understand what an extension is - find the steps needed to create an extension - make this work all together - install our extension - display the best Waffle recipe
2/6/21
PostgreSQL
Hiroki Kumagai
D.postgresql
In order to connect to external databases, PostgreSQL supports Foreign Data Wrappers (FDW), and there are already many FDWs. However, among of FDWs have various restrictions preventing utilization of external databases features. As such a restriction, FDWs for schemaless databases need to change the foreign table definition, when some columns are added in remote database. This restriction can not take full advantage of the schemaless feature. In this time, we considered implementing FDW that ...
2/6/21
PostgreSQL
D.postgresql
Synchronous or quorum replication is the basis of the modern HA cluster. At Yandex.Cloud we are using replication-based HA PostgreSQL clusters for many years. In this talk, we want to introduce basic concepts and highlight caveats that seem important to us.
2/6/21
PostgreSQL
D.postgresql
In this talk we want to present how Microsoft team composed of people from two different teams approached the project and solved the migration issues using ora2pg and was able to prove that Postgres Single Server can perform equally well as Oracle Exadata. We will present our ways of working and also some main technical challenges that we faced including migration of BULK COLLECT’s, hierarchical queries, refcursors and others more complicated Oracle constructs.
2/6/21
PostgreSQL
Peter Eisentraut
D.postgresql
Over many years of PostgreSQL development I have collected a lot of information about setting up a development environment and assorted notes about the development process that would be worth sharing. If you are new to PostgreSQL development, this can help you get set up. If you are an experienced developer, we can compare notes.
2/6/21
PostgreSQL
D.postgresql
Query optimizer is one of the key components which determines DBMS performance under OLAP workload. Nevertheless, it was shown that query optimizer often fails to find a good execution plan because of incorrect cardinality estimations. The perspective approach to improve cardinality estimation quality is adaptive query optimization. In contrast with classical approaches, which rely on the precomputed histograms, it utilizes the execution statistics of the previously executed queries to refine ...
2/6/21
PostgreSQL
Pavel Borisov
D.postgresql
In the PostgreSQL core, we have the SPGiST index, which is more lightweight and significantly faster than GiST for the supported data types. In many cases, it is the most suitable option for geometric data like points, boxes, etc. An easy way to increase the selection speed is to eliminate the need for the results recheck by a table. But with the index being single-column by design we could not enjoy index-only scans for multicolumn queries. The talk covers my improvement of the SPGiST access ...