BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:PostgreSQL devroom X-WR-CALNAME;VALUE=TEXT:PostgreSQL devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:12393@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T100000 DTEND:20220206T110000 SUMMARY:Solving the knapsack problem with recursive queries and PostgreSQL DESCRIPTION:
Optimization problems are everywhere, from deciding which clothes to pack in our luggage (aka the knapsack problem), to selecting the tasks that will be worked during a sprint. Trying to solve these type of problems by hand is a tedious task often resulting in sub-optimal decisions.
In this talk, we'll understand how PostgreSQL recursive queries can help. Starting from the proper problem definition, we'll then explore how to build queries that call themselves recursively, what are the risks associated with this approach and safeguards we can set to optimise performances. Finally we'll demonstrate how two new features released in PostgreSQL 14 enable an easier handling of the recursive statements.
If you're into PostgreSQL and eager to understand how recursion works, this session is for you!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_solving_the_knapsack_problem_with_recursive_queries_and_postgresql/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Francesco Tisiot":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12893@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T110000 DTEND:20220206T120000 SUMMARY:JSON in PostgreSQL - Learning with a case study DESCRIPTION:PostgreSQL provides great support for JSON objects and every developer workingwith this data type should learn how to take advantage of it. Instead of goingthrough the documentation on how to use JSON in PostgreSQL, in this talk we willuse a case study to learn by example. We will also complement the usage of JSONby introducing other data types such as ARRAY. We will also review some designdecisions to turn JSON objects into columns and vice versa when it's convenient.This talk will help you to axe the archaic Entity-Attribute-Value (EAV) patternfrom your database.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_json_in_postgresql_learning_with_a_case_study/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Boriss Mejias":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12921@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T120000 DTEND:20220206T123000 SUMMARY:How to create (lots!) of sample time-series data with PostgreSQL generate_series() DESCRIPTION:Exploring new features in PostgreSQL or reproducing an unusual query plan can be tricky without representative data to utilize. While there are a plethora of sources for sample data and tools to import it, you can end up spending too much time finding representative data to work with. In our day-to-day work at Timescale, we often need to quickly create lots of sample time-series data to demonstrate new features, run a benchmark, or help community members with examples as they learn.
Although using real application data would be ideal, PostgreSQL provides the generate_series() function which makes it easy to create a representative time-series dataset using varying cardinalities and different lengths of time.
In this talk we'll introduce generate_series() and demonstrate how to use it to create realistic-looking time-series data of all shapes and sizes, using custom PostgreSQL user-defined functions. Once we've mastered the basics, we'll dial it up a notch by incorporating PostgreSQL math functions and relational data to create realistic time-series patterns of data for various use cases like sales or website visits.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_how_to_create_lots_of_sample_time_series_data_with_postgresql_generate_series/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ryan Booz":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12416@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T123000 DTEND:20220206T130000 SUMMARY:Future Postgres Challenges DESCRIPTION:Postgres has been a vibrant project for decades, and probably will be popular for decades to come. However, as with any complex endeavor, challenges are always lurking. This talk explores the many project, competitive, and technical challenges in the future that could derail its success. By exploring these challenges, we will be better able to avoid them.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_future_postgres_challenges/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bruce Momjian":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12521@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T130000 DTEND:20220206T133000 SUMMARY:PostgreSQL Distributed & Secure Database Ecosystem Building DESCRIPTION:As the most popular open source relational database in the world, PostgreSQL keeps attracting the significant attention it deserves. With the ever increasing data storage and query requirements, new challenges are brought forward for horizontal elastic expansion and security of the PostgreSQL database.How to provide existing PostgreSQL databases with incremental capabilities such as data sharding, data encryption and other functions is of great concern to many PostgreSQL users.This session will focus on introducing how to empower PostgreSQL thanks to the ecosystem provided by Apache ShardingSphere - an open source distributed database, plus an ecosystem users and developers need for their database to provide a customized and cloud-native experience. ShardingSphere doesn't quite fit into the usual industry mold of a simple distributed database middleware solution. ShardingSphere recreates the distributed pluggable system, enabling actual user implementation scenarios to thrive and contributing valuable solutions to the community and the database industry.The aim of ShardingSphere is the Database Plus concept.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_postgresql_distributed_secure_database_ecosystem_building/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Juan Pan":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12825@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T133000 DTEND:20220206T140000 SUMMARY:Automatically refresh materialized views in PostgreSQL DESCRIPTION:Since PostgreSQL 9.3 introduced materialized views, it’s been an important feature that many users leverage to power dashboards, pre-compute information, or execute common queries in a much faster manner.
On the flip side, if your database often gets updated, keeping your materialized views up-to-date can be challenging. Especially when working with time-series data where timeliness is often an important requirement. In this talk, I will share some tactics to keep your materialized views up-to-date in PostgreSQL and how to use REFRESH MATERIALIZED VIEW efficiently to fit your use case.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_automatically_refresh_materialized_views_in_postgresql/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Attila Tóth":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12667@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T140000 DTEND:20220206T150000 SUMMARY:Working effectively with (-support-) the community DESCRIPTION:This talk is for those who are new to PostgreSQL or those who just started, or all the others that want to hear a personal story: When I started with PostgreSQL around 10 years ago, I came with an Oracle background. It took me quite some time to understand how the PostgreSQL project is organized, how the community is working and how to deal with issues I've faced when I needed support. This is not a technical talk at all, but it should save you quite some time in your journey with PostgreSQL.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_working_effectively_with_support_the_community/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Daniel Westermann":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12769@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T150000 DTEND:20220206T160000 SUMMARY:Exploring Linux Memory Usage and IO Performance for Cloud Native Databases DESCRIPTION:Linux and containers are similar in that they provide operating system resources such as memory and storage. These resources—along with CPU and networking— are key factors to achieve optimal performance.
In this session, we'll explore how memory allocation at the container or operating system level influences the performance of buffered disk IO, which is typically how IO is handled by PostgreSQL. We'll also examine Linux memory management details and the different ways disk IO could be performed. From there, we'll walk through a number of examples that reveal the typical dynamics of cached and non-cached IOs, as well as the differences between the two.
Understanding these dynamics is critical to learn how PostgreSQL IO works.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_exploring_linux_memory_usage_and_io_performance_for_cloud_native_databases/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Frits Hoogland":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12656@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T160000 DTEND:20220206T170000 SUMMARY:Slow things down to make them go faster DESCRIPTION:It's easy to get misled into overconfidence based on the performance of powerful servers, given today's monster core counts and RAM sizes. However, the reality of high concurrency usage is often disappointing, with less throughput than one would expect. Because of its internals and its multi-process architecture, PostgreSQL is very particular about how it likes to deal with high concurrency and in some cases it can slow down to the point where it looks like it's not performing as it should. In this talk we'll take a look at potential pitfalls when you throw a lot of work at your database. Specifically, very high concurrency and resource contention can cause problems with lock waits in Postgres. Very high transaction rates can also cause problems of a different nature. Finally, we will be looking at ways to mitigate these by examining our queries and connection parameters, leveraging connection pooling and replication, or adapting the workload.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jimmy Angelakos":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12808@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220206T170000 DTEND:20220206T180000 SUMMARY:Lesser Known PostgreSQL Features DESCRIPTION:In the talk I want to present a few lesser know, but useful features you may never heard about! For example, do you know how you can get the number of inserted and update rows in an upsert? how to create reproducible random data for testing and demonstrations? match a text against multiple patterns without complicated condition? How about using \copy with multi-line queries? All that and more... in my talk :)
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:PostgreSQL URL:https:/fosdem.org/2022/schedule/2022/schedule/event/postgresql_lesser_known_postgresql_features/ LOCATION:D.postgresql ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Haki Benita":invalid:nomail END:VEVENT END:VCALENDAR