uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Although PostgreSQL supports automatically-updatable, the conditions are restrictive, and complex views are not automatically updatable. To update these views, you still need to define specific triggers or rules for every views. However, a recent study has proposed a novel approach extending view-updatability for generally defined views. In order to test the feasibility of the theory, I'm developing an implementation of the algorithm as the proof of concept. This talk will introduce the overview of the theory, and explain how the prototype is implemented and how it works. Since PostgreSQL 9.3, automatically-updatable views has been supported. Thanks to the feature, you can update simple views without creating INSTEAD OF triggers or INSTEAD rules. However, the conditions are restrictive, and complex views, such as the ones including JOIN, are not automatically updatable. To update these views, you still need to define specific triggers or rules for every views. It would be nice if we could relax the prerequision for the automatically-updatable views. In fact, updatability of complex views is a hard problem, and has been studied for a long time. In a recent study, a novel approach extending view-updatability for generally defined views has been proposed. In this approach, view-updatability is based on guessing user's update intention by algorithm called "Pro Forma Guessing of Update Intention". If user's update intention can be guessed uniquely by this algorithm, views are updatable as the guessed intention, even if the view has JOIN, UNION, and so on. If we could have this in the PostgreSQL's automatically-updatable views, it would bring great benefit to users. In order to test the feasibility of the theory, I'm developing an implementation of the algorithm as the proof of concept. The prototype is developed as an extension of PostgreSQL. This also uses INSTEAD OF trigger, but you don't need to define specific triggers for your views, because the extension provides the trigger function for general defined views. This talk will introduce the overview of the theory, and explain how the prototype is implemented and how it works.

uk: вхід без авторизації

name: Extending View Updatability by a Novel Theory: Prototype Implementation on PostgreSQL

name: PGCon - PostgreSQL Conference for Users and Developers


Amit Langote

type: Person

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

uk: Бібліотекознавство, документознавство

en: Information and Library Sciences

de: Geisteswissenschaften

uk: Гуманітарні науки

en: Humanities

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: For some time now, PostgreSQL users have been implementing partitioning using table inheritance, which has failed to match the usability and performance of the partitioning features in other DBMSes. The new declarative partitioning feature, which will be available in PostgreSQL 10 changes that. It paves the way for implementing query optimization techniques specially designed for partitioned data. The talk introduces new partitioning methods and discusses query optimization techniques with performance numbers. Before declarative partitioning was developed in PostgreSQL, one could use table inheritance to partition data, CHECK constraints to specify the partition conditions, and rules and/or triggers to route the rows to the right partition. While that has worked fine for a relatively small number of partitions, performance and ease-of-use with a large number of partitions is unsatisfactory. Current approach to deduce partition specifications from a set of arbitrary CHECK constraints is complex and is not efficient. Hence optimizations like plan-time partition-pruning do not scale beyond a few hundred partitions and advanced techniques like partition-wise join and partition-wise aggregation are not implemented. Declarative partitioning, a long awaited feature, will be available in PostgreSQL 10. It makes it easy to create and maintain partitions without requiring to create and manage constraints, rules and/or triggers. It makes partition specification representation much more direct, leaving nothing to be deduced, thus making above-mentioned query optimizations feasible and scalable. In this talk we will introduce salient features of declarative partitioning. We will also cover high-level design for above mentioned query optimization techniques, along with some performance figures demonstrating the scalability they achieve.

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

name: Partition and conquer large data with PostgreSQL 10: Declarative partitioning comes to PostgreSQL

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


So You Want To Make An Extension?

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: This talk will discuss the extensions development process from the ground up and expand upon that using my experience developing several widely used projects (pgpartman, mimeo, pgjobmon, etc). The talk will mainly focus on best practices, lessons learned and tips for creating your own software projects in PostgreSQL. Back in the old days, aka before 9.1, if you wanted to add some custom code to PostgreSQL, it was certainly possible and not very hard. But keeping track of the status of that code, mainly which version the database was running, was a bit of a chore. With the extension system introduced in 9.1, that chore became much less of a hassle. Versioned software packages within the database itself are now possible and installation & upgrades are tremendously easier. In turn, communities like PGXN have grown to house many extensions to make DBA lives easier. This talk will discuss the extensions development process from the ground up and expand upon that using my experience developing several widely used projects (pgpartman, mimeo, pgjobmon, etc). The talk will mainly focus on best practices, lessons learned and tips for creating your own software projects in PostgreSQL.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: An introduction to the implementation of hash joins in PostgreSQL, and a discussion of some potential future improvements in the area of parallelism. "Hash joins" are one of the three strategies that PostgreSQL uses to join relations (along with merge joins and nested loops), and can provide excellent performance under certain conditions. Before diving into the implementation details, I will give an introduction to the general concepts. Then the first part will describe the implementation of hash joins in PostgreSQL 9.5 and earlier including a detailed look at planning and execution, with a focus on memory management. The second part will discuss the multi-core join execution available in PostgreSQL 9.6 and its limitations. The third part will look at several strategies being worked on to tackle those limitations with different trade-offs, so that parallel hash joins can make better use of available memory and CPU cores in future releases.

uk: вхід без авторизації

name: Hash Joins: Past, Present and Future: A peek inside the engine room


Faster And Durable Hash Indexes

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL has supported Hash Index for a long time, but they are not much used in production mainly because they are not durable. In this talk, I will discuss the work done in PostgreSQL 10.0 to make it reliable and performant. This paper will discuss the performance characteristics of Hash Indexes wherein we will see the performance improvements made in PostgreSQL 10.0. I will also share the performance comparison between Hash and Btree Indexes, both with respect to transactions per second and space-efficiency. I will also outline the cases where hash indexes can be used instead of btree indexes. In this talk, I will discuss the write ahead logging for Hash Indexes, mainly focusing on challenges we have to overcome in doing so. Finally, I will talk about the work that can be done to further improve it in terms of features, performance and space usage.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: The objective of this talk is to bring into notice the utility of two tools —Picasso and CODD, to aid the ongoing feature development and performance analysis in PG community. Particularly, this talk will discuss upon the ‘hows’ of these two tools with PostgreSQL in the process of designing, testing and benchmarking of newly developed database operators. Considering the extensive feature development in PG community, we require comprehensive testing tools, that can find the best and worst cases for the developed feature along with its scalability. Specifically, effective design, testing and benchmarking of a new database operator depend on the ability to construct the alternative database scenarios with regard to the database contents. However, it may be infeasible to create and maintain databases of large sizes or generate all the queries that are useful for the new operator. This talk will introduce two tools —Picasso database query optimizer visualizer and CODD (COnstructing Dataless Databases), developed at Database Systems Lab of Indian Institute of Science [1,2]. Picasso is a software that can be used for query optimizer analysis, debugging, and redesign aid by system developers. The tool automatically generates a variety of diagrams including plan, cost, cardinality etc. that characterise the behaviour of optimizer over a selectivity space. At the time of benchmarking of a newly developed feature, it can be used to find that perfect query where new operator is useful or analyse its' worst case scenarios. Next, to check the scalability of the feature, CODD can be put to use, wherein a unified visual interface is provided to create a database with the desired metadata characteristics. Thus, this tool can be used to generate plans for desired scale factors without actually creating the database. The objective of this talk is to bring into notice the utility of these two tools, to aid the ongoing feature development and performance analysis in PG community. Particularly, this talk will discuss upon the ‘hows’ of these two tools with PostgreSQL in the process of designing, testing and benchmarking of different database operators.

uk: вхід без авторизації

name: Towards Comprehensive Testing Tools: Redefining testing mechanisms!


SCRAM authentication in PostgreSQL

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL's current password-based authentication mechanism is old and weak by today's standards. It uses MD5, which is generally considered not secure anymore. SSL can alleviate that, and there are other, stronger, authentication mechanisms like Kerberos, but they are more complicated to set up. SCRAM is a modern, secure password-based authentication mechanism. There is a patch in the works, to support SCRAM authentication in PostgreSQL, replacing the current MD5 authentication mechanism in the long run. By the time of PGCon, it is hopefully committed, and will appear in PostgreSQL version 10. In this presentation, I will explain how SCRAM works, and the benefits it has over current authentication mechanisms. I will give an update of the current status of the patch, as well as status of driver support and future works.

uk: вхід без авторизації


Don't stop the world

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: To exploit the performance of contemporary hardware, it is crucial to resolve CPU scalability bottlenecks such as lock contention. The author has identified that some lock contention can be resolved at the cost of increasing memory usage and other lock contention can be mitigated by prepare-in-advance strategy. Among the lock contention that occurred in a benchmark execution, that caused by CLogControlLock is the former type and easily resolved; thanks to the increase in the main memory capacity. On the other hand, typical bottleneck categorized as the latter type is that caused by the critical section for extending a particular relation. Simple countermeasure that the author implemented was not effective for performance improvement as it caused a side effect. Some architectural change seems necessary for PostgreSQL in order to resolve the bottleneck. In this lecture, I will describe the outline and countermeasures of these bottlenecks, their effects, and necessary architectural change in PostgreSQL. Thanks to advances in device technology, it becomes possible to use abundant hardware resources such as many core CPUs and several hundreds Giga- or Tera-bytes of memory, which is an amount of computing resources that can not be imagined only a decade ago, and thus software development has to move towards utilizing such hardware resources. In spite of this situation, PostgreSQL that is a stable DBMS for, at least has an architecture suitable for non-rich hardware, which may cause a performance bottleneck in a DB server with contemporary hardware. In particular, scalability bottleneck, which has a large adverse effect when increasing the number of CPU cores, is a serious problem. Typical one is lock contention that becomes prominent when the number of processes trying to execute a critical section protected by the lock increases; when severe lock contention occurs, it's like stop-the-world as most of transaction processing stop waiting for the critical section becomes available..I have identified that some lock contention can be resolved at the cost of increasing memory usage and other lock contention can be mitigated by prepare-in-advance strategy. Among the lock contention that occurred in a benchmark execution, that caused by CLogControlLock is the former type and is easily resolved. The increase in the memory usage is acceptable for contemporary DB server which has a large amount of main memory. On the other hand, typical bottleneck categorized as the latter type is that caused by the critical section for extending a particular relation. Simple countermeasure that the author implemented was not effective for performance improvement as it caused a side effect. Some architectural change seems necessary for PostgreSQL in order to resolve the bottleneck. In this lecture, I will describe the outline and countermeasures of these bottlenecks, their effects, and necessary architectural change in PostgreSQL.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Why stop at a declarative description of infrastructure alone? Tired of seeing developers do rake db:migrate and want to see something that intelligently handles the schema migration? Now you can codify the structure and permissions of an application's database entirely using Terraform. Terraform provides a declarative, codified framework for describing both infrastructure, and now PostgreSQL schema. The Terraform PostgreSQL provider abstracts the actual mechanics of running the DDL and DCL from the desired declarative structure of PostgreSQL's schema. Describe it in Terraform and let Terraform converge the structure of the database to match what's described in code. offers a declarative language to codify the structure of infrastructure, including PostgreSQL schema. Terraform internally builds out a dependency graph and evaluates the graph, performing the necessary DCL and DDL to converge the structure of the PostgreSQL database. This talk will cover a bit of theory but will be a live and interactive demo where we build a PostgreSQL schema using Terraform from the ground up.

uk: вхід без авторизації

name: Codified PostgreSQL Schema: Idempotent Schema Migrations for Developers and DBAs


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Json - is an ubiquitous data format, which supported in almost any popular databases. PostgreSQL was the first relational database, which received support of native textual json and very efficient binary jsonb data types. Recently published SQL 2016 standard describes the JSON data type and specifies the functions and operators to work with json in SQL, which greatly simplifies the further development of json support in PostgreSQL. We compare existing features of json/jsonb data types with proposed SQL standard and discuss the ways how we could improve json/jsonb support in PostgreSQL. PostgreSQL offers to application developers a rich support of json data type, providing known advantages of the json data model with traditional benefits of relational databases, such as declarative query language, rich query processing, transaction management providing ACID safety guarantees. However, current support of json is far from ideal, for example, json is still "foreign" data type to SQL - existed jsquery extension tries to implement their own query language, which is being powerfull, is opaque to Postgres planner and optimizer and not extendable. Extending SQL to support json, without commonly accepted standard, is difficult and perspectiveless task. Recently published SQL 2016 standard describes the JSON data type and specifies the functions and operators to work with json in SQL, which makes clear the direction of future development of json support in PostgreSQL. We present our ideas and prototype of future json data type in PostgreSQL with some further non-standard extensions and improvements in storage requirement and index support.

uk: вхід без авторизації

name: Oh, that ubiquitous JSON!: Present and future of Jsonb in PostgreSQL


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Currently, PostgreSQL executes SQL queries using the interpreter, which is quite slow. However, significant speedup can be achieved by compiling query "on-the-fly" with LLVM JIT: this way it's possible for given SQL query to generate more effective code, which is specialized using the information known at run time, and then additionally optimize it with LLVM. This approach is especially important for complex queries, where performance is CPU-bound. In the talk we'll discuss how such dynamic compilation with LLVM compiler infrastructure can be used to speed up various stages of SQL query execution: compiling expressions; compiling Scan, Aggregation, Sort and Join methods of Executor tree nodes; compiling indexing method; saving compiled native code for PREPARED statements to speedup OLTP queries. Also we'll show the necessary architectural changes in PostgreSQL for dynamic compilation to be effective. E.g. we had to switch from PostgreSQL original "pull" iteration model to "push" model, because the former model didn't allow JIT compiler to optimize the code effectively (due to virtual calls and saving internal state in Executor tree nodes). We'll also discuss the methods for reusing original PostgreSQL source code for building both JIT compiler and the interpreter, trying to avoid manually rewriting PostgreSQL backend as well as Executor nodes implementation using LLVM API. As the result we have achieved significant speedup on TPC-H benchmark: when JIT-compiling expressions the speedup is 20% (the source code is available at github.com/ispras/postgres). When using all described optimization techniques at different query execution stages, the speedup is up to 5x on TPC-H tests.

uk: вхід без авторизації

name: JIT-Compiling SQL Queries in PostgreSQL Using LLVM


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Sets are apparently a useful data type for many kinds of applications. In PostgreSQL, sets may be emulated to some degree with its built-in array and JSONB data types. Corresponding containment (subset) queries can be already handled with built-in features of the GIN index type. Next to that, we will explore the performance gains enabled by custom set data types, and especially by custom operator classes for the GIN and GiST index types. Then, we will introduce a specialized set data type using a run-length encoding scheme -- it is motivated by spatial tessellations used in astronomy. As neither GIN nor GiST offer a road to efficient indexing in this case, we use the pluggable access method machinery of PostgreSQL 9.6+ to create a new specialized index type, called "OUZO". This is essentially a boldly modified version of the pre-existing pluggable RUM access method, which in turn is an improved implementation of GIN. Finally, we discuss possible future improvements to OUZO. Sets are apparently a useful data type for many kinds of applications. While PostgreSQL offers no built-in set data type, sets may be emulated to some degree with its built-in array and JSONB data types. Also, acceleration of respective containment (subset) queries is readily available as a built-in feature of the GIN index type. Starting with the above, we will then explore the performance gains enabled by custom set data types, and especially by custom operator classes for the GIN and GiST index types. Then, we will introduce a specialized set data type implementation, where subsequent integers are compressed via run-length encoding -- it is motivated by spatial tessellations used in astronomy. There, neither GIN nor GiST as such may be used for efficient indexing. However, since PostgreSQL 9.6, it is possible to write your own full-featured index types, which may be plugged into the system as a regular PostgreSQL extension. One such extension that was already openly available is RUM -- an improved implementation of GIN. We will present our modifications to RUM, called "OUZO", where the handling of the key (i. e., set element) data type allows for run-length encoding. This enables useful indexing of the above compressed-set data type. We also discuss the property of GIN, RUM, and OUZO (for the time being) that key items are never deleted, in view of its performance implications for OUZO, plus other possible future improvements to OUZO.

uk: вхід без авторизації

name: OUZO for indexing sets: Accelerating queries to sets with GIN, GiST, and custom indexing extension


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: This talk outlines what happened when I needed to migrate hundreds of thousands of end user logins from a legacy application to a Django application for a client (National Geographic). The primary challenge was that each user's password was originally created with the Postgres pgcrypto.crypt() function and only the one-way hash is stored, which is unusable by Django which it's own algorithms for hashing and storing passwords. We can't decrypt the hashed passwords for the migration. We can try to crack them... :‑/ Oh, and this all needs to be completely transparent to the end user. How to migrate these users into Django? We will wander through the wonderful world of pgcrypto, Python password hashing, brute force attacks, and Django's authentication and password hashing internals. We will arrive at a successful solution (or will we?) and the Django package I whipped up and open sourced to handle this.

uk: вхід без авторизації

name: Pgcrypto avast!: A study in Django's password hashers


Logical Replication in PostgreSQL 10

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Built-in logical replication is coming to PostgreSQL 10! This talk will introduce this new headline feature, demonstrate the use, and discuss the current status and future plans for logical replication in PostgreSQL. Topics covered will include: basic concepts such as publications and subscriptions set up, configuration administration monitoring discussion of limitations and future plans comparison with existing logical replication solutions demonstration

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Before executing an SQL query, Postgres needs to decide on an execution plan. While there are multiple steps involved in generating a plan, this talk will focus on the main source of inputs for the query planner machinery, namely the statistics subsystem. Detecting problems with statistics is often a crucial step towards finding the reasons for bad plans and slow queries, so it's important to understand exactly what gets tracked and how it's getting used. As the universal rule of Garbage In, Garbage Out teaches us, without some degree of knowledge about the shape of queried data, it is impossible to get a reasonable execution plan. PostgreSQL employs a number of ways to maintain up-to-date statistics about table sizes and the distribution of data inside them, which in turn inform the query planner. In this talk we'll explore what statistical information is being tracked by Postgres, how is it calculated, where does the server store it and how can the operator query it, and finally how to tweak the whole system. Maintaining up-to-date statistics needs to balance performance overhead with information quality. For a large database, you can't just read everything and calculate some ratios, so the system employs a number of clever algorithms, which we will examine. Another concern is that some data types require specific statistical information that's specific to the query pattern for the given type. A column holding an array is less likely to be queried for exact matches, but it is often queried using a "contains" operator. We'll cover special cases such as arrays, full text search vectors and ranges, and we'll talk more in depth about how statistics for them are gathered. Finally, we'll look at some of the weaknesses of the statistics subsystem and areas where it could be still improved.

uk: вхід без авторизації

name: Lies, damned lies, and statistics: A journey into the PostgreSQL statistics subsystem


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: As SaaS applications become more commonplace, there's a growing demand for scaling databases that power these applications. In this talk, we'll review three design patterns that are commonly used for scaling multi-tenant databases and each approach's trade-offs. We'll then focus on one design pattern that optimizes on the scaling dimension, give an example architecture from the industry, and describe key properties of PostgreSQL that make suitable as a multi-tenant database. If you’re building a multi-tenant application, you probably already have the notion of tenancy built in your data model. Typically, most information relates to tenants / customers / accounts and your database tables capture this natural relation. With smaller amounts of data, it’s easy to throw more hardware at the problem and scale up your database. As these tables grow however, you need to think about ways to scale your multi-tenant database across dozens or hundreds of machines. In this talk, we're first going to talk about motivations behind scaling your SaaS (multi-tenant) database and several heuristics we found helpful on deciding when to scale out. We'll then describe three design patterns that are common in scaling SaaS databases: (1) Create one database per tenant, (2) Create one schema per tenant, and (3) Have all tenants share the same table(s). Next, we'll highlight the tradeoffs involved with each design pattern and focus on one pattern that scales to hundreds of thousands of tenants. We'll also share an example architecture from the industry that describes this pattern in more detail. Last, we'll talk about key PostgreSQL properties, such as semi-structured data types, that make building multi-tenant applications easy. We'll also mention Citus as a method to scale out your multi-tenant database. We'll conclude by answering frequently asked questions on multi-tenant databases and Q&A.

uk: вхід без авторизації

name: Designing your Multi-tenant Database for Scale with Postgres


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: An overview of real-life instances of corruption, and how each was handled. Every instance of database corruption is unique. In this talk, we'll talk about some specific, real-world examples of PostgreSQL database corruption, and how they were repaired. We'll step through each one with how we detected it, how we isolated the issue, and what we did to patch it... and what did and didn't work. We'll also go over how to avoid those specific issues, and general approaches to managing database corruption in PostgreSQL.

uk: вхід без авторизації

name: Corruption War Stories: Real-Life Corruption Issues and Recovery


SLAM A 08

uk: Комп'ютерні науки

uk: вхід без авторизації

Leibniz Universität Hannover (LUH)

addressCountry: DE

addressLocality: Hanover

addressRegion: Lower Saxony

name: Institut für Kartographie und Geoinformatik


SLAM A 09

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM B 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 08

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 09

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM C 10

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 08

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 09

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 10

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 11

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 12

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 13

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 14

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 15

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 16

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 17

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM D 18

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM E 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM F 08

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM G 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 01

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 07

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 08

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 09

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 10

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM PP 11

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 02

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 03

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 04

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 05

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 06

uk: Комп'ютерні науки

uk: вхід без авторизації


SLAM A 07

uk: Комп'ютерні науки

uk: вхід без авторизації


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
syntax
morphosyntax
morphosyntactic structures
clause structure
subordination
indicative
subjunctive
modality

de: Allgemeine und vergleichende Literatur- und Sprachwissenschaft

uk: Загальне та порівняльне літературознавство та мовознавство

en: General and Comparative Literary Studies and Linguistics

uk: Гуманітарні науки

description: This lecture builds on the topic of clause structure in Early Latin. It focuses mainly on embedded constructions.

uk: вхід без авторизації

name: Early Latin – Morphosyntactic structures, Part 5: Clause II

Georg-August-Universität Göttingen

addressLocality: Göttingen


uk: Гуманітарні науки

description: Introduction to the clause structure of Early Latin, with a focus on modality and subordination.

uk: вхід без авторизації

name: Early Latin – Morphosyntactic structures, Part 4: Clause I


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
syntax
morphosyntax
morphosyntactic structures
predication
valency
verbal syntax

uk: Гуманітарні науки

description: Introduction to the topic of predication in Early Latin, with a focus on valency.

uk: вхід без авторизації

name: Early Latin – Morphosyntactic structures, Part 3: Predication


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
syntax
morphosyntax
morphosyntactic structures
adpositions
nominal structures
adpositional structures

uk: Гуманітарні науки

description: Introduction to the nominal and adpositional structures in Early Latin, with an overview of meaning and usage of cases.

uk: вхід без авторизації

name: Early Latin – Morphosyntactic structures, Part 2: Nominal and Adpositional Structure


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
syntax
morphosyntax
morphosyntactic structures

uk: Гуманітарні науки

description: General overview of grammatical relations, pragmatic functions, morphological constituents, case, adpositions, and predication.

uk: вхід без авторизації

name: Early Latin – Morphosyntactic structures, Part 1: Overview


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
morphology
inflectional morphology
verbal inflection
verbal morphology
affixation
stem formation
conjugations

uk: Гуманітарні науки

description: This lecture focuses on the verbal inflection and categories of Early Latin.

uk: вхід без авторизації

name: Early Latin – Morphology, Part 3: Verbal Inflection


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
morphology
inflectional morphology
nominal inflection
pronouns
adjectives
adverbs

uk: Гуманітарні науки

description: This lecture focuses on the nominal inflection and categories of Early Latin.

uk: вхід без авторизації

name: Early Latin – Morphology, Part 2: Nominal Inflection


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
morphology
derviational morphology
word formation
compounding
juxtaposition
conversion

uk: Гуманітарні науки

description: Introduction to the morphology of Eartly Latin: discussed are word formation, derivational morphology, compounding, and lesser morphological processes.

uk: вхід без авторизації

name: Early Latin – Morphology, Part 1: Word Formation and Derivational Morphology


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
phonology
syllables
prosody
accentuation

uk: Гуманітарні науки

description: Overview of the syllabic structure and prosodic features of Early Latin.

uk: вхід без авторизації

name: Early Latin – Phonology, Part 2: Syllables, Prosody, Accent


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
Italic languages
phonology
phonemes
phonological processes

uk: Гуманітарні науки

description: Introduction to the phonemic inventory of Early Latin, with a discussion of important phonological processes.

uk: вхід без авторизації

name: Early Latin – Phonology, Part 1: Phonemes, Phonological Changes


keywords:
Early Latin
Latin
Indo-European studies
Classical Latin
linguistics
Indo-European linguistics
introduction
Italic languages
Latin alphabet

uk: Гуманітарні науки

description: Overview of the written attestations of Early Latin.

uk: вхід без авторизації

name: Early Latin – Introduction, Part 2: Writing and Sources


keywords:
Early Latin
Latin
Indo-European studies
Classical Latin
linguistics
Indo-European linguistics
introduction
Italic languages
Roman Republic
Latin grammar

uk: Гуманітарні науки

description: Introduction to the early Latin language, its speakers and history.

uk: вхід без авторизації

name: Early Latin – Introduction, Part 1: Language and Speakers


keywords:
Sprachbund
Old Albanian
Albanian
Indo-European studies
loanwords
linguistics
Indo-European linguistics
lntroduction
Balkan Sprachbund
lexicon

uk: Гуманітарні науки

description: Introduction to the various layers of inherited and borrowed lexicon within Albanian.

uk: вхід без авторизації

name: Old Albanian – Introduction, Part 4: The Layered Lexicon


keywords:
Geg
Tosk
Old Albanian
Albanian
Indo-European studies
dialectology
linguistics
Indo-European linguistics
introduction
Geg
Tosk

uk: Гуманітарні науки

description: Introduction to the two main dialects of Albanian, i.e. Tosk and Geg, their history and their isoglosses.

uk: вхід без авторизації

name: Old Albanian – Introduction, Part 3: Dialectology: Geg and Tosk


keywords:
Old Albanian
Albanian
Indo-European studies
authors
linguistics
Indo-European linguistics
introduction
texts

uk: Гуманітарні науки

description: The lecture features a presentation of the earliest known Albanian authors.

uk: вхід без авторизації

name: Old Albanian – Introduction, Part 2: Authors and Texts


keywords:
Shqipëria
Old Albanian
Albanian
Indo-European studies
Albania
linguistics
Indo-European linguistics
introduction

uk: Гуманітарні науки

description: Introduction to the linguistics of Old Albanian. The main topics of this video encompass the spread of the Albanian language throughout history, from antiquity to modern times, as well as the origin of the Albanian name of Albania, i.e. Shqipëria.

uk: вхід без авторизації

name: Old Albanian – Introduction, Part 1: Language and Speakers


keywords:
po
Old Albanian
Albanian
Indo-European studies
syntax
morphosyntactic structures
linguistics
Indo-European linguistics
progressive aspect
aspect
verbal semantics

de: Humanmedizin/Gesundheitswissenschaften

uk: Медицина / Науки про здоров'я

en: Human Medicine / Health Sciences

uk: Гуманітарні науки

description: The topic of this lecture is the progressive particle 'po'.

uk: вхід без авторизації

name: Old Albanian – Morphosyntactic structures, Part 5: Progressive 'po'


keywords:
Old Albanian
Albanian
Indo-European studies
syntax
morphosyntactic structures
linguistics
Indo-European linguistics
noun phrase
case
definiteness
particle of concors

uk: Гуманітарні науки

description: Topic of this lecture is the morphosyntactic structure of noun phrases in Old Albanian and their categories (case, definiteness).

uk: вхід без авторизації

name: Old Albanian – Morphosyntactic structures, Part 4: The Noun Phrase


keywords:
Old Albanian
Albanian
Indo-European studies
syntax
morphosyntactic structures
linguistics
Indo-European linguistics
verb phrase
future
infinitive

uk: Гуманітарні науки

description: Topic of this lecture is the morphosyntax of the verb phrase in Old Albanian.

uk: вхід без авторизації

name: Old Albanian – Morphosyntactic structures, Part 3: The Verb Phrase


keywords:
Old Albanian
Albanian
Indo-European studies
syntax
morphosyntactic structures
linguistics
Indo-European linguistics
admirative
mood
modality
verbal semantics

uk: Медицина / Науки про здоров'я

uk: Гуманітарні науки

description: Topic of this lecture is the admirative mood in (Old) Albanian and its origin.

uk: вхід без авторизації

name: Old Albanian – Morphosyntactic structures, Part 2: The Admirative


keywords:
Old Albanian
Albanian
Indo-European studies
syntax
morphosyntactic structures
linguistics
Indo-European linguistics
verbal semantics
verbal categories
tense
aspect
mood
participle

uk: Гуманітарні науки

description: This lecture deals with the main verbal categories of Albanian (tense, aspect, mood).

uk: вхід без авторизації

name: Old Albanian – Morphosyntactic structures, Part 1: Semantics of the Verb


keywords:
Old Albanian
Albanian
Indo-European studies
morphology
linguistics
Indo-European linguistics
verbal morphology
copula

uk: Гуманітарні науки

description: The topic of this lecture is the Albanian copula and its history.

uk: вхід без авторизації

name: Old Albanian – Morphology, Part 2: The Verb 'to Be'


keywords:
Old Albanian
Albanian
Indo-European studies
morphology
linguistics
Indo-European linguistics
verbal morphology
stem formation

uk: Гуманітарні науки

description: Introduction to the morphology of the Albanian verb, with particular attention to stem formation.

uk: вхід без авторизації

name: Old Albanian – Morphology, Part 1: Stem Formation of the Verb


keywords:
Old Albanian
Albanian
Indo-European studies
phonology
linguistics
Indo-European linguistics
segmental phonology
consonants
vowels

uk: Гуманітарні науки

description: Introduction to the phonological system of Albanian, of both the modern and the historical varieties.

uk: вхід без авторизації

name: Old Albanian – Phonology: Segmental Phonology and writing


keywords:
Sprachbund
Old Albanian
Albanian
Indo-European studies
areal linguistics
linguistics
Indo-European linguistics
introduction
Balkan Sprachbund

de: Geowissenschaften (ohne Geographie)

uk: Науки про Землю(крім географії)

en: Geosciences (excl. Geography)

de: Mathematik, Naturwissenschaften

uk: Математика, природничі науки

en: Mathematics, Natural Sciences

uk: Гуманітарні науки

description: In this lecture two modalities for viewing Albanian are considered: a historical and a geographical one, with a focus on the Balkan Sprachbund.

uk: вхід без авторизації

name: Old Albanian – Introduction, Part 5: Albanian in its Areal Context


keywords:
Early Latin
Latin
Indo-European studies
linguistics
Indo-European linguistics
text sample
Italic languages
Plautus
latin literature
plautine plays

uk: Гуманітарні науки

description: This lecture features an analysis of an Early Latin text, excerpted from the Aulularia by Plautus.

uk: вхід без авторизації

name: Early Latin – Text sample: Plautus, Aulularia 1—5


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Iranian history
Zoroastrianism
Sredny Stog culture
Andronovo culture
Yaz culture
Sintashta
BMAC
Yamna culture

de: Geschichte

uk: Історія

en: History

uk: Науки про Землю(крім географії)

uk: Математика, природничі науки

uk: Гуманітарні науки

description: Introduction to the history and prehistory of the Iranian and Indo-Iranian people.

uk: вхід без авторизації

name: Avestan – Introduction, Part 1: Historical, geographical and cultural background


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Iranian history
Zoroastrianism
Avesta
Yasna
Zoroastrian rituals
literary transmission
Gathas
Multimedia Yasna Project

uk: Гуманітарні науки

description: Introduction to the Avestan text corpus, the Avesta itself and its literary composition and transmission.

uk: вхід без авторизації

name: Avestan – Introduction, Part 2: Avestan texts and ritual practice


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Iranian history
Zoroastrianism
Avesta
Yasna
Zoroastrian rituals
literary transmission
Gathas
Multimedia Yasna Project
Avestan script
Pahlavi script

uk: Медицина / Науки про здоров'я

uk: Гуманітарні науки

description: This lecture focuses on the literary transmission of the Avesta, as well as on the Avestan and Pahlavi scripts.

uk: вхід без авторизації

name: Avestan – Introduction, Part 3: Avestan script and sound


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian peoples
Iranian history
Zoroastrianism
Avesta
Yasna
Zoroastrian rituals
literary transmission
Gathas
Multimedia Yasna Project
Avestan script
Pahlavi script
Avestan manuscripts

uk: Гуманітарні науки

description: This lecture focuses on the various Avestan manuscripts and the literary transmission of Avestan texts.

uk: вхід без авторизації

name: Avestan – Introduction, Part 4: Avestan manuscripts


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
phonology
segmental phonology
allophony
Avestan script

uk: Гуманітарні науки

description: This lecture centres around the reconstruction of the phonological system of Avestan.

uk: вхід без авторизації

name: Avestan – Phonology, Part 1: Problems in the tradition, segmental phonology


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
phonology
phonetics
dialectology

uk: Гуманітарні науки

description: This lecture deals with the phonetics of the Avestan language, rather than with the phonological system alone. Other topics include the dialectal variation of Avestan, as well as the influence of other Iranian dialects on the language.

uk: вхід без авторизації

name: Avestan – Phonology, Part 2: Phonetics, dialectal features


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian peoples
Avesta
morphology
nominal composition
word classes
Caland system

uk: Гуманітарні науки

description: Introduction to the morphology of Avestan, with a focus on its basic morphological properties and on nominal composition.

uk: вхід без авторизації

name: Avestan – Morphology, Part 1: Morphological properties, nominal composition


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
nominal morphology
stem formation
inflection
inflectional morphology
declension

uk: Гуманітарні науки

description: The topic of this lecture is the nominal morphology of Avestan, with regard to both word formation and inflection.

uk: вхід без авторизації

name: Avestan – Morphology, Part 2: Nominal stem formation and inflection


Avestan – Morphology, Part 3: The verb

keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
verbal morphology
stem formation
conjugation
inflection
inflectional morphology
aspect
tense
participles
verbal adjectives

uk: Гуманітарні науки

description: Topic of this lecture is the verbal morphology of Avestan. This includes the verbal categories of tense, aspect, and voice, as well as non-finite forms such as participles and verbal adjectives.

uk: вхід без авторизації


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
syntax
morphosyntax
nouns phrase
adpositional phrase
preverbs
local particles
linearization

uk: Гуманітарні науки

description: Introduction to the morphosyntax of noun phrases and adpositional phrases of Avestan. Additionally, the second part of the lecture focuses on local particles.

uk: вхід без авторизації

name: Avestan – Morphosyntactic structures, Part 1: Noun phrase, adpositional phrase, preverbs


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
syntax
morphosyntax
predication
verbal syntax
agreement
arguments
valency
voice

uk: Гуманітарні науки

description: Introduction to the morpho-syntactic categories of the verb in Avestan.

uk: вхід без авторизації

name: Avestan – Morphosyntactic structures, Part 2: Predication


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
syntax
morphosyntax
verbal syntax
clause structure
word order
coordination
subordination
relative clauses
clitics

uk: Гуманітарні науки

description: Introduction to the structure of clauses in Avestan. This encompasses word order, as well as various types of clauses in Avestan.

uk: вхід без авторизації

name: Avestan – Morphosyntactic structures, Part 3: Clause


keywords:
Avestan
Iranian languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian people
Avesta
morphology
syntax
morphosyntax
verbal syntax
clause structure
modality
interrogatives
information structure

uk: Гуманітарні науки

description: This lecture continues the topic of clause structure in Avestan. The focus lies hier on modality, interrogatives and information structure.

uk: вхід без авторизації

name: Avestan – Morphosyntactic structures, Part 4: Clause (cont.)


Avestan – Text sample

keywords:
Avestan
Iranic languages
Indo-European studies
Indo-Iranian languages
linguistics
Indo-European linguistics
introduction
Iranian peoples
Avesta
text sample
avestan manuscripts
stylistic analysis
Yasna
Avestan literature

uk: Комп'ютерні науки

uk: Гуманітарні науки

description: This lecture features several text samples in the Avestan language in order to showcase various stylistic and grammatical features of Avestan.

uk: вхід без авторизації


keywords:
Spice
Schaltregler
Elektroniksimulation
Hierarchischer Schaltplan
Systemsimulation

description: In dem 2. Video der Serie über Simulation und Messung von Schaltreglern wird auf die besonderen Herausforderungen bei der Simulation von Schaltreglern eingegangen. Weiterhin werden die Vorteile hierarchisch organisierter Schaltbilder insbesondere für die Simulation erklärt. Als Anwendung wird gezeigt wie die Stromversorgung eines komplexen Systems simuliert werden kann.

@language: de

uk: вхід без авторизації

name: Spice Systemsimulation von Schaltreglern: Hierarchische Schaltpläne


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Congratulations: you've been selected to build an application that will manage whether or not the rooms for PGCon are being occupied by a session! On the surface, this sounds simple, but we will be managing the rooms of PGCon, so we know that a lot of people will be accessing the system. Therefore, we need to ensure that the system can handle all of the eager users that will be flooding the PGCon website checking to see what availability each of the PGCon rooms has. To do this, we will explore the following PostgreSQL features: Data types and their functionality, such as: Data/Time types Ranges Arrays Indexes such as: GiST SP-Gist Common Table Expressions and Recursion Set generating functions and LATERAL queries Functions and the PL/PGSQL Triggers Logical decoding and streaming We will be writing our application primary with SQL, though we will sneak in a little bit of Python to demonstrate the power of logical decoding. This will be an interactive sessions and we will provide some containers to ensure you have everything you need to be up and running when the bell rings. At the end of the session, we will have a working application, and you will be happy knowing that you provided a wonderful user experience for all PGCon attendees made possible by the innovation of PostgreSQL!

uk: вхід без авторизації

name: Let's Build a Complex, Real-Time Data Management Application: ...before the training session ends!

name: PGCon - PostgreSQL Conference for Users and Developers


PGCon 2018 - Closing Session

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: The Traditional Closing Session Prizes, auctions, fun, games. We raise money for charity.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Jsonb is a popular data type in PostgreSQL, it provides the web developers an ability to work with ubiquitous json inside the database and use all the power of proven relational database. Fast querying of jsonb data is a challenge for database and PostgreSQL provides several options for indexing jsonb. We present the new way of efficient indexing of jsonb, based on improvement of indexing infrastructure. It's known, that json is a greedy data type, it may contains many auxiliary data not interesting for searching and that affects the size of index. Partial index will not helps, since it filters the rows before indexing, while we are interested in extracting of parts of jsonb. Functional indexes on specific keys could introduce too big overhead. We present an improvement of indexing infrastructure, which allows to control the index behaviour by passing parameters to operator class at index creation. For example, to index a user-defined subset of jsonb it is possible to pass to operator class the powerful path expression (either jsonpath of upcoming sql/json or jspath from jsquery extension), which can be used to extract the parts of jsonb tree. That makes index more effective and reduces the overhead of its maintaining. Another use of parameterized operator classes is to allow a user to specify parameters instead of hard coding them, for example, the GiST signature size is currently hard coded inside the implementations of several opclasses (tsvector, hstore, intarray, pg_trgm, ltree), while it is natural to use different signature length for different data to have optimal size of index and its performance. Full text search on parts of document can be improved by passing labels to the operator class and letting him index only specified parts of document, that allow to avoid currently used recheck of the rows returned by the index and consequently speedup query.

uk: вхід без авторизації

name: Jsonb "smart" indexing: Parametrized opclasses


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL's EXPLAIN command is a powerful tool, allowing users to expect and understand query plans in detail. However, the output produced by EXPLAIN is not a direct representation of the plan; it omits some information and displays other information in modified form. In this talk, I'll discuss the differences between the plan as displayed by EXPLAIN and what is actually stored in the server's internal data structures. I'll also discuss why the plan includes the information it does, how that information is computed, and how that information is used at execution time. In my 2010 talk "The PostgreSQL Query Planner", I focused primarily on the types of plans that the planner was capable of generating and the reasons why it was necessary to compare various alternatives. Tom Lane's 2011 talk "Hacking the Query Planner" discussed the overall order of operations in the planner and explained some of the motivation behind it. In this talk, I will focus less on the overall operation planner and more on the data structure which it produces as output, namely, a tree of Plan nodes. I hope that this will be helpful in understanding PostgreSQL's execution-time behavior as well as in learning to write patches that touch the planner and executor.

uk: вхід без авторизації

name: What's in a Plan?: And how did it get there, anyway?


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: The idea of using partitioning and postgres_fdw for sharding has been floating around for many years, however we are not aware of existing attempts to build a complete solution. In this talk we will share our experience on this path. Topics will include sharding itself, decent distributed transactions (isolation and atomicity), failures recovery, benchmarks and performance issues. We are working on pg_shardman [1] -- PG extension which aims to scale-out Postgres without losing ACID semantics. Based on pg_pathman [2] and postgres_fdw modules, it supports hash-sharding of tables into arbitrary number of partitions scattered across the nodes. Any node can execute queries involving distributed tables. For each partition, user-specified number of copies is created with logical replication. We have implemented two-phase commit (2PC) commit protocol and Clock-SI [3] algorithm to provide atomic cross-node transactions with snapshot isolation (called REPEATABLE READ in Postgres) xact isolation level. In addition, pg_shardman features Node addition/removal with data rebalance; Distributed deadlock detection and resolution; Data import with COPY FROM; Limited ALTER TABLE support for distributed tables; Manual (requires DBA directive) failure recovery; We will describe how we have implemented this and highlight particular points in the endless universe of possible improvements, e.g. automated failover. Then we will discuss benchmarks, performance issues and what we can do about them. Some of the enhancements can be developed and merged into core PostgreSQL or postgres_fdw independently of pg_shardman, like asynchronous (parallel) postgres_fdw execution and optimized bulk inserts into foreign table.

uk: вхід без авторизації

name: Towards ACID scalable PostgreSQL with partioning and blogical replication


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: To support MVCC, we always create a new version of a tuple on an update which must eventually be removed by periodic vacuuming or by HOT-pruning, but still in many cases space is never reclaimed completely. A similar problem occurs for tuples that are deleted. This leads to bloat in the database. In this talk, we will present a new storage format which will reduce the bloat, performs lesser disk writes and is smaller in size as compared to the current format. This talk will discuss a new storage format in which only the latest version of the data is kept in main storage and the old versions will be moved to an undo log. We call this new storage format "zheap". It can prevent bloat by (a) allowing in-place updates wherever possible and (b) reusing the space as soon as the transaction that has performed delete or non-inplace-update is committed. In short, in this new storage, bloat won't be created at first place. The new storage format reduces write amplification both by avoiding rewrites of heap pages and by making it possible to do an update that touches indexed columns without updating every index. We will also discuss another major advantage of this project which comes from the fact that it helps in reducing the size of the heap by (a) reducing tuple header size and (b) eliminating the need for aligning data in many cases. This talk will also present some performance results which are based on the prototype of this storage format.

uk: вхід без авторизації

name: zheap: less bloat, fewer writes, and just plain smaller


Securing Your Data On PostgreSQL

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: The first concern anyone has when moving their data on a FOSS RDBMS like Postgres is whether or not it has the security features their data needs. This talk will cover the various features that Postgres provides for data security, from the very basic to the most advanced. Postgres has a variety of features to secure your data in a multitude of ways, each suitable for a specific set of use cases. The goal of this talk is not just to lay out the features available to secure your data, but also to give an idea of when to leverage these features, and how best to implement it. This session will also cover some of the upcoming security features in Postgres 11, and a few gotchas with the existing features This talk will cover the various features that Postgres provides for data security, from the very basic to the most advanced. While most applications are aware of the minimum basic security features and use them, there is often a lack of understanding about how best to manage them, especially with major security features being released with every major version of Postgres. As for advanced features, sadly most of them go unnoticed and unused in most cases. The topics that will be covered are: Host Based Authentication in Postgres, types of authentications available, and how this differs from the way other RDBMS manage users and authentications, especially MySQL. Peculiarities of Postgres in permissions and ACL. Setting up and using SSL/TLS for connections and certificate management Row-level security Event triggers Implementing PCI security standards for storing credit card data. Using appropriate filesystem permissions Encrypting your data stored in Postgres Implementing table level auditing with minimal storage requirements within the database, and other alternatives for auditing. Reviewing and rejecting SQL injections Other PostgreSQL security features Tips to leverage additional tools in the cloud if you are using postgres as a service (E.g. PostgreSQL RDS by AWS) Upcoming security features in Postgres 11 Features that Postgres currently lacks, and gotchas in existing features. The speaker will also discuss recommended monitoring to ensure security implementations set up are working as intended, especially with PCI. The primary intent of this talk is to spread information about security features in Postgres, and the right way to implement them. There seems to be a lot of comparisons between security features of various RDBMS, but few would disagree with the view that the best way to decide the right one to use is by thorough knowledge of what each provides. And this talk aims to do just that for Postgres and data security.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Discover how you can test your code much more thoroughly than just running "make check", but with very little more effort. The buildfarm client automates thorough testing of new code as well as committed code. For many years the buildfarm client has had an offline mode that will test a given local codebase rather than pulling from git. Some recent enhancements in the client have made this mode more usable by developers and committers. Now it's very easy to reduce very substantially the chances that the code you're developing or committing will send the whole buildfarm red. The talk will describe in detail the whole battery of tests the client runs, and how to use offline mode effectively as part of your development and review process. We will show how to keep several configurations for different sorts of tests. We'll see how to run valgrind to check for memory leaks without touching the core code at all. And we'll show how to add a module to test non-core code such as an extension.

uk: вхід без авторизації

name: The Buildfarm client as a development tool


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Just in time (JIT) compilation for postgres tries to accelerate query processing by transforming parts of query into native programs. Over the last year a lot of progress towards an in-core implementation of that has been made. This talk will discuss how much JITing infrastructure has been integrated into postgres already, how those parts work, and show a few benchmark numbers. The rest of the talk will discuss what needs to be improved with the integrated JIT (e.g. caching of programs, improving program generation) and what further parts of query execution could be JITed (e.g. various server-side languages, the main volcano executor, ...).

uk: вхід без авторизації

name: The State of Postgres JIT - 2018 Edition


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: There are many aspects and considerations when securing PostgreSQL. This talk will cover some examples of the dangers associated with typical default installations, along with built-in features and extensions available to mitigate them. It will cover an overview of security features related to PostgreSQL and available extensions, and focus on the recently published PostgreSQL security guidelines: the DISA STIG and the Center for Internet Security Benchmark. There are many aspects and considerations when securing PostgreSQL. This talk will cover some examples of the dangers associated with typical default installations, along with built-in features and extensions available to mitigate them. It will cover an overview of security features related to PostgreSQL and available extensions, and focus on the recently published PostgreSQL security guidelines: the DISA STIG and the Center for Internet Security Benchmark. Specifically, we will cover: A. PostgreSQL and Ecosystem: Security Features 1. International Certifications 2. Security Features i. Perimeter ii. Internal iii. Chronological B. Security Guidelines 1. Security Technical Implementation Guide (STIG) i. Overview ii. PostgreSQL STIG iii. Example Control 2. CIS Benchmark i. Overview ii. PostgreSQL Benchmark iii. Example C. Settings 1. postgresql.conf 2. pg_hba.conf rules The audience is anyone interested in security within a relational database. Learning Objectives: * Identify security considerations when deploying PostgreSQL. * Understand the features available in PostgreSQL and/or closely related open source technologies which address the identified security considerations. * How security guides are utilized to provide significantly enhanced security in PostgreSQL.

uk: вхід без авторизації

name: Securing PostgreSQL: Exploring PostgreSQL Features, Extensions, and Guides


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Blockchain technology has several unique properties including provability and immutability. Every blockchain transaction is signed by its author, and it could be verified by any blockchain network member. Also, once data is stored in blockchain, it can't be altered in the future. Many databases operating traditional DBMS would also benefit from provability and immutability properties. However, inclusion of all the transaction data in the public blockchain is very expensive. Credereum is the platform, which allows creation and maintaining of databases, whose contents and history are provable and immutable without sacrifice the performance and efficiency of traditional DBMS. Thanks to Credereum, database owner can prove the validity of query results, while users can verify them. Database owner don't have to reveal the whole database contents or full history of transactions to provide the proof of database query results. Therefore, Credereum database may contain private sensitive information. Credereum utilized bleeding-edge technologies including, but not limited to decentralized cloud, public blockchain with sharding. Credereum is an emerging technology of trusted and private databases. We will explain why PostgreSQL is suitable database for Credereum and what we need to develop in Postgres to support signed transactions and cryptographic storage.

uk: вхід без авторизації

name: Credereum - blockchain-enabled Postgres: Bringing the provability and immutability of blockchain to performance and efficiency of traditional DBMS


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: In this report, we would like to show how our recovery use cases around Londiste (PGQ in general) in distributed data processing could be switched to new Logical Replication subsystem in PostgreSQL 10. In the current implementation of Logical Replication, we see only non-trivial solutions -- we could open a number of issues for the community, that come down to implementing simpler recovery mechanisms -- as simple as configuring the replication in PostgreSQL 10. These mechanisms are connected with re-play events of replication queue, reposition source and a destination of replication, reigniting subscriber from another subscriber, rewind replication queue and perform UNDO recovery on the destination side. Avito is the biggest classified site of Russia, and the third largest classified site in the world (after Craigslist of USA and 58.com of China). In Avito, ads are stored in PostgreSQL databases. At the same time, for many years already the logical replication is actively used. With its help, the following issues are successfully solved: the growth of data volume and growth of number of requests to it, the scaling and distribution of the load, the delivery of data to the DWH and the search subsystems, inter-base and internetwork data synchronization etc. But nothing happens "for free" - at the output we have a complex distributed system. Hardware failures can happen - it is natural - you need to be always ready for it. There is plenty of samples of logical replication configuration and lots of success stories about using it. But with all this documentation there is nothing about samples of the recovery after crashes and data corruptions, moreover there are no ready-made tools for it. Over the years of constantly using PgQ replication, we have gained extensive experience, rethought a lot, implemented our own add-ins and extensions to restore and synchronize data after crashes in distributed data processing systems.

uk: вхід без авторизації

name: Recovery use cases for Logical Replication in PostgreSQL 10


PostgreSQL Partitioning: Then & Now

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: This talk will discuss both the old trigger based methods, the new native feature included in PostgreSQL 10 and upcoming features in 11 and beyond. Splitting data amongst tables has long been a standard practice in RDBMS systems to increase both storage and query efficiency. But until recently PostgreSQL was missing that feature natively. This talk will discuss both the old trigger based methods, the new native feature included in PostgreSQL 10 and upcoming features in 11 and beyond.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: JDBC is a popular standard database client API for Java. As such, it describes a common denominator for implementations, regardless of any specific backend. Creating a custom driver using the PostgreSQL V3 Protocol can provide access to the rich features PostgreSQL provides beyond those specified by JDBC. This talk will cover one such implementation for Clojure, a Lisp hosted on the JVM. JDBC is a popular standard database client API for Java. It's great for portability across database server backends, and the PostgreSQL JDBC Driver is a solid implementation. As with many standards, there's an expected common denominator for behavior. There are circumstances, however, when that common denominator limits what's actually available from a specific underlying system. When you want to leverage the full power of Postgres on the JVM, sometimes you need to go beyond what's available with JDBC. The solution? Implement your own driver! Use the PostgreSQL V3 Protocol to take full advantage of everything PostgreSQL has to offer. In my case, I want a PostgreSQL interface for Clojure---a Lisp hosted on the JVM (as well as compiling to JavaScript)---that is idiomatic to the language. Clojure already has a great wrapper for JDBC, but supporting features such as Clojure's sequence abstraction and data types can be better served by a dedicated driver. In this talk I will cover differences between Java and Clojure and the limitations of the JDBC driver which motivate a new driver for Clojure. In addition, I'll provide an overview of the implementation of the V3 protocol in Clojure, the use of the new driver, and benchmarks comparing it to the current PGJDBC driver.

uk: вхід без авторизації

name: Beyond JDBC: Creating a Custom Postgres driver for Clojure


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: pg_chameleon is a lightweight replication system written in python. The tool can connect to the mysql replication protocol and replicate the data changes in PostgreSQL. pg_chameleon is a lightweight replication system written in python. The tool can connect to the mysql replication protocol and replicate the data changes in PostgreSQL. Whether the user needs to setup a permanent replica between MySQL and PostgreSQL or perform an engine migration, pg_chamaleon is the perfect tool for the job. The talk will cover the history the current implementation and the future releases. The audience will learn how to setup a replica from MySQL to PostgreSQL in few easy steps. There will be also a coverage on the lessons learned during the tool’s development cycle.

uk: вхід без авторизації

name: pg_chameleon: MySQL to PostgreSQL replica made easy


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: This talk will present the PostgreSQL replication solutions pglogical 3 and BDR 3. pglogical is a PostgreSQL extension for logical replication between two nodes. Most of the code for built-in logical replication in PostgreSQL 10 was derived from pglogical, while pglogical offers a larger feature set, such as row and column filtering, conflict resolution, and compatibility back to PostgreSQL 9.4. The new major release pglogical 3 was rearchitected to support even more functionality including failover support, improved table synchronization, and Kafka integration. BDR is a PostgreSQL extension for asynchronous multimaster replication. The upcoming BDR 3 was completely reengineered and built on top of pglogical 3. It will support multiple consistency models, new node management, and transparent DDL replication.

uk: вхід без авторизації

name: Next generation PostgreSQL replication with pglogical 3 and BDR 3


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL is becoming the relational database of choice. An important factor in the rising popularity of Postgres is the extension APIs that allow developers to improve any database module’s behavior. As a result, Postgres users have access to hundreds of extensions today. In this talk, we're going to first describe extension APIs. Then, we’re going to present four popular Postgres extensions, and demo their use. PostGIS turns Postgres into a spatial database through adding support for geographic objects. HLL & TopN add approximation algorithms to Postgres. These algorithms are used when real-time responses matter more than exact results. pg_partman makes managing partitions in Postgres easy. Through partitions, Postgres provide 5-10x higher performance for time-series data. Citus transforms Postgres into a distributed database. To do this, Citus shards data, performs distributed deadlock detection, and parallelizes queries. Finally, we’ll conclude with why we think Postgres sets the way forward for relational databases. PostgreSQL is becoming the relational database of choice. One important factor in the rising popularity of Postgres are the extension APIs. These APIs allow developers to extend any database sub-module’s behavior for higher performance, security, or new functionality. As a result, Postgres users have access to over a hundred extensions today, and more to come in the future. In this talk, I’m going to first describe PostgreSQL’s extension APIs. These APIs are unique to Postgres, and have the potential to change the database landscape. Then, we’re going to present the four most popular Postgres extensions, show the use cases where they are applicable, and demo their usage. PostGIS turns Postgres into a spatial database. It adds support for geographic objects, allowing location queries to be run in SQL. HyperLogLog (HLL) & TopN add approximation algorithms to Postgres. These sketch algorithms are used in distributed systems when real-time responses to queries matter more than exact results. pgpartman makes creating and managing partitions in Postgres easy. Through careful partition management with pgpartman, Postgres offers 5-10x higher write and query performance for time-series data. Citus transforms Postgres into a distributed database. Citus transparently shards and replicates data, performs distributed deadlock detection, and parallelizes queries. After demoing these popular extensions, we’ll conclude with why we think the monolithic relational database is dying and how Postgres sets a path for the future. We’ll end the talk with a Q&A.

uk: вхід без авторизації

name: PostgreSQL Extension APIs are Changing the Face of Relational Databases


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

de: Wirtschaftswissenschaften

uk: Бізнес та економіка

en: Business and Economics

de: Rechts-, Wirtschafts- und Sozialwissenschaften

uk: Право, економіка та суспільні науки

en: Law, Economics and Social Sciences

uk: Гуманітарні науки

description: One doesn't simply hire a RDBMs developer. There are not many RDBMs developers in the world and even less of them are looking for a job. Instead of looking for developers we can grow them up. In this talk we would like to tell how we do it. One doesn't simply hire a RDBMs developer. There are not many RDBMs developers in the world and even less of them are looking for a job. Instead of looking for developers we can grow them up. In this talk we would like to tell how we do it. In this talk: First-person view: PostgreSQL developer as a first job & contributing to PostgreSQL after years of experience in different area - impressions, difficulties, etc; Our experience of teaching Moscow State University students; Onboarding & team leading gotchas; Project management gotchas; On burning out; And stuff like this :)

uk: вхід без авторизації

name: Growing up new PostgreSQL developers: On teaching students, team leading, project management and stuff


ASSERTIONs: and how to use them

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: ASSERTIONs are a way to make very generalized constraints in a database. They were first described in SQL-92, and are only now coming to the fore. ASSERTIONs can be used for constraints like, "The sum of dice in the first_winning_roll table must be either 7 or 11," but that's just the beginning. ASSERTIONs can also constrain the state of multiple inter-related tables, as in "Any given payment_id can be in exactly one table among payment_check, payment_credit, and payment_manila," or even, "The sum of amounts across of type check, credit_card, and manila_envelope_stuffed_with_notes tables for a given payment_id must be the same as the amount in the payment table to which they refer." Learn what's been done, what's happening, and what they hold for the future. ASSERTIONs constrain data in ways that other types of constraints cannot. In this talk, you will learn how to use them, how they are coming to PostgreSQL, (some of) what the future holds. Whole new vistas of possibility are opening with this feature. The last example above might be written as CREATE ASSERTION payment_split_consistent AS CHECK ( SELECT bool_and(p.amount = COALESCE(sum_ch, 0) + COALESCE(sum_cr,0) + COALESCE(sum_ma, 0)) FROM payment p LEFT JOIN LATERAL (SELECT sum(amount) AS sum_ch FROM payment_check ch WHERE p.payment_id = ch.payment_id) AS ch ON true LEFT JOIN LATERAL (SELECT sum(amount) AS sum_cr FROM payment_credit cr WHERE p.payment_id = cr.payment_id) AS cr ON true LEFT JOIN LATERAL (SELECT sum(amount) AS sum_ma FROM payment_manila ma WHERE p.payment_id = ma.payment_id) AS ma ON true ) DEFERRABLE INITIALLY DEFERRED; This will be yet another of the features you will soon forget (or at least want to forget) how you ever worked without.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL is a great community. They are open-minded, friendly, agreeable and so on. You feel like helping them. The problem is you are shy and you look at community people as gods. On top of that you don't want to mess up with their work or bother them with obvious and silly (to them) questions! This conference talk is based on my own true story. I will tell you about how I submitted my very first patch to the community. After some background presentation about how the community works, I will try to answer the following questions: What can I do to help (and you'll see that even without coding you can do a lot!) ? What's a contribution ? What's a patch ? How can I create one? And I hope that sooner or later you'll come and join the community and you'll feel so proud of yourselves!

uk: вхід без авторизації

name: De-mystifying contributing to PostgreSQL


Authentication in PostgreSQL

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL offers many ways for users to administer and control incoming connections to a given instance with a large catalog of options available like BSD, LDAP and password-based, etc. Depending on the deployments and the security expectations though, each method comes with its set of advantages for PostgreSQL. At the end it comes to how much complication and how much gain an option can have compared to another from a security point of view. This presentation presents the catalog of options available to users, focusing on how to take advantage of one method or another depending on the deployments done and what are the expectations looked for. Are also presented the latest features related to authentication that have been added recently in PostgreSQL 11.

uk: вхід без авторизації


Flexible Indexing with Postgres

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: When considering database indexing, many people are confused by the many Postgres indexing structures available, and the many data-type-specific index lookup methods. For example, brin allows for efficient indexing of many columns. gin indexing specializes in the rapid lookup of keys with many duplicates — an area where traditional btree indexes perform poorly. This is particularly useful for json and full text searching. GiST allows for efficient indexing of two-dimensional values and range types. This talk explores the various indexing features of Postgres and when to use them. This is ideal when presented after my Non-Relational Postgres presentation.

uk: вхід без авторизації


PGCon 2018 - Opening Session

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: In this proposal, I would like to talk about the methods and tools implemented to Migrate from a 5-Node Oracle RAC to PostgreSQL. It was an Oracle RAC with 5 Nodes designed to automatically load balance and scatter the transactions across multiple nodes for a complex business logic. There was a DR(Disaster Recovery Environment) which was a 5 Node RAC again with the ability to take a Read Traffic for ETL and Reporting. There are several built-in features with Enterprise Version of Oracle which are not claimed to be available for PostgreSQL and thus stopping majority of the users to migrate from Oracle RAC to PostgreSQL. I have overcome all such challenges and implemented a Design without using any external tools or Multi-Master solutions in the market. Target audience: All the DBA’s and Professionals/Management looking to Migrate their Oracle RAC to PostgreSQL but worried about Performance. This talk includes : Here is what I am going to talk about, in brief: Design that replaced a 5 Node Oracle RAC setup with PostgreSQL. Steps to be considered before Migration and Rightsizing your PostgreSQL. – Migration of Business Logic from Oracle to PostgreSQL. Migration of Data from Oracle to PostgreSQL and continuous replication to avoid a Major Downtime. – Load Balancers and Connection Poolers implemented to distribute transaction load in PostgreSQL. Use of Foreign Data Wrappers in this Architecture. Tools we used to enable Automatic Failover to make the Application connections redirection seamless. Issues faced during Migration/Upgrade. – Implementation of Plprofiler to understand the performance bottlenecks. Snapshotting Solution we implemented to build the same feature as Oracle History Snapshotting to provide reports equivalent to AWR in Oracle.

uk: вхід без авторизації

name: Migration of a 5 Node Oracle RAC to PostgreSQL: Methods and tools implemented to Migrate from a 5-Node Oracle RAC to PostgreSQL


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: A regular feature, PGCon will have a Lightning talks session, with presentations on diverse topics. The format remains essentially the same: in a one hour period, audiences are entertained and informed by a rapid fire series of short talks on interesting new or on-going work by individuals or groups. Slides aer permitted, but not obligatory; pictures are highly recommended. Topic areas include new open source software projects, works in progress for future releases of existing projects, student projects, etc. Lightning talks topics this year may make good conference papers next year! The number of slots is limited, and experience suggests there will be more takers than slots. Sign up well in advance to be assured a spot. Please subscribe to the PGCon announce mailing list and wait for the call to go out for submissions. Conway, Joe: Securing PostgreSQL Munro, Thomas: Devious Schemes Darold, Gilles: PGTT Extension Postgres Women Campoli, Frederico: Spaghetti Carbonara, the PostgreSQL way u. a.

uk: вхід без авторизації

name: PGCon 2018 - Lightning Talks: Short sharp descriptions of short topics

name: PGCon - PostgreSQL Conference for Users and Developers


Deep Dive on Amazon Aurora

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: In this session we will dive deep into the unique features and changes that make up including understanding the architectural differences that contribute to improved scalability, availability and durability. Some of the items that we will cover are the elimination of checkpointing, removal of the log buffer and the use of a 4/6 quorum to improved durability and availability while reducing jitter. Other areas we will go over are improvements in vacuum and shared buffer cache as well some of our new features like Fast Clones and Performance Insight. To finish off the session we will walk through the techniques used to migrate to Aurora PostgreSQL.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Persistent Memory (PMEM) is fast, non-volatile and byte-addressable memory which can be accessed by CPU with load/store instructions, and is already available from a few vendors. Database-management systems can run faster on PMEM compared to on HDD or SSD. Moreover, by modifying applications as PMEM-aware with PMDK (Persistent Memory Development Kit), we could make them much faster. This talk presents how we hack PostgreSQL to make it PMEM-aware, and how much it becomes faster than ever. As a first step, we focus on Write-Ahead Logging (WAL) and Relation to improve OLTP performance and checkpoint time. There are two ways to use PMEM as storage. One is a simple way, direct-access (DAX) filesystem which enables data access bypassing page cache of operating system. It can be applied without modifying PostgreSQL. The other is a hacker way, PMDK that contains PMEM-dedicated libraries building on DAX capabilities such as kernel-bypassing access to PMEM-mapped file and CPU cache-bypassing memory copy. It makes PostgreSQL PMEM-aware and much faster than a simple way. Using PMDK, we hack PostgreSQL. The targets are WAL and Relation segment files. We replace system calls with PMEM functions provided by PMDK; open, lseek, read, write and fdatasync for segment files now yield to PMEM-mapping, memory copy and memory barrier. Then, we evaluate our approach by comparing to a simple way i.e. running PostgreSQL on DAX filesystem without hack. In evaluation, we use Non-Volatile DIMM (NVDIMM) as PMEM. The result show that, in regard to WAL, we achieve up to 1.8x more TPS in customized INSERT-oriented benchmark. We propose the patches containing approx. 1,200 insertions and deletions in total to the community. Also, as to Relation, we achieve 20% less time in checkpoint. We also talk about our efforts to the evolving elephant such as controlling NUMA effects, eliminating overhead of SQL parsing, and extending Relation against PMEM-mapped fixed-length file.

uk: вхід без авторизації

name: Introducing PMDK into PostgreSQL: Challenges and implementations towards PMEM-generation elephant


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: DBAs struggling with replication lag is nothing new. A large volume of data or write IO comes into the system and the followers struggle to keep up. pg_prefaulter was written to eliminate replication lag on followers and also improves database startup times. If your database is under 24/7 write workload, has periodic replication lag that is unacceptable, or want to reduce the startup time of PostgreSQL, pg_prefaulter will help all three of these scenarios. At Joyent we use PostgreSQL as the metadata tier for our object storage system, Manta. This talk chronicles how we identified our source of replication lag and why we found it necessary to write pgprefaulter. pgprefaulter is a sidecar process for PostgreSQL written in Go that pre-fetches pages from disk and loads them into the operating system's filesystem cache before PostgreSQL requests them during the startup and application of WAL records. Additionally, this talk also discusses: the design considerations that went into writing pg_prefaulter the various forms of "replication lag" in PostgreSQL (WAL receive lag, WAL apply lag, and checkpoint lag) pathologies that came from deploying pg_prefaulter why we now consider pg_prefaulter mission critical software for our production databases tips for deploying pg_prefaulter

uk: вхід без авторизації

name: Scaling WAL apply performance on Followers: Eliminate replication lag and reduce startup times with pg_prefaulter


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: Begining in 8.1, PostgreSQL has offered table partitioning, allowing you to split data across different physical segments for significant performance improvements. Until recently not much had changed, but starting in Postgres 10, and new, more native partitioning system was added into Postgres. While the initial implementation left some things to be desired, many of those issues are being addressed. This talk will cover many of the insider tricks that are used in large setups and explain the trade-offs between the options you now have available. PostgreSQL table partitioning allows you to scale your data to significantly larger volumes than would otherwise be possible. Getting started with table partitions in and of itself is not complicated, but if you want to get maximum benefits from your setup you can't just follow the documentation. This talk will walk through the ins and outs of table partitioning including: What table partitioning is, and how it is implemented in PostgreSQL. Differences between native and inheritance based partitioning. Migrating from one format to the other. Automated partition maintenance. Learn how to setup and maintain table partitioning in PostgreSQL with hands-on examples. We'll walk through manipulating SQL and look at tools to automate your partition maintenance.

uk: вхід без авторизації

name: PostgreSQL Partitioning: Slicing and dicing your schema for quicker queries and dishing data


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL version 10 has added logical replication, and now the field of replication options in PostgreSQL has gotten wide: Streaming replication, warm standby, logical replication… We'll discuss what the options are, their limitations and pitfalls, and what the best use-case for each one is. We'll show what it takes to set each one up, monitor it, and get it working again on failures. We'll cover: The history of replication in PostgreSQL. WAL shipping Streaming replication Trigger-based replication Logical decoding And some exotic animals.

uk: вхід без авторизації

name: Your Herd of Elephants: PostgreSQL Replication


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL supports an impressive number of standard SQL features in an outstanding quality. Yet there remain some cases where other databases exceed PostgreSQL’s capabilities in regard to standard SQL conformance. This session presents the gaps found during an in-depth comparison of selected standard SQL features among six popular SQL databases. The selected features include, among others, window functions and common tables expressions—both of them were recently introduced to MySQL and MariaDB. PostgreSQL supports an impressive number of standard SQL features in an outstanding quality. Yet there remain some cases where other databases exceed PostgreSQL’s capabilities in regard to standard SQL conformance. This session presents the gaps found during an in-depth comparison of selected standard SQL features among six popular SQL databases. The selected features include, among others, window functions and common tables expressions—both of them were recently introduced to MySQL and MariaDB. The comparison uses a set of conformance tests I use for my website modern-sql.com. These tests are based on the SQL:2016 standard and attempt to do a rather complete test of the requirements set out in the standard. This includes the correct declared type of expressions as well as the correct SQLSTATE in case of errors (teaser: nobody seems to care about SQLSTATE). This presentation covers two aspects: (1) features not supported by PostgreSQL but by other databases; (2) features available in PostgreSQL that are less complete or conforming as in other databases.

uk: вхід без авторизації

name: Standard SQL Gap Analysis: Standard SQL features where PostgreSQL lags behind its competitors


I/O Errors: fsyncgate

uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: The Linux kernel's handling of I/O errors is inconsistent and frustrating. This talk will explain why some of these problems exist and discuss what we might be able to do to improve them in the future. I'll cover how Linux buffered I/O works and what it does when it encounters an error.

uk: вхід без авторизації


uk: Комп'ютерні науки

uk: Бібліотекознавство, документознавство

uk: Гуманітарні науки

description: PostgreSQL has a huge number of patches flying around at all times and a fast moving master branch. How can we streamline our handling of all this code? I decided to try to test all the patches automatically all the time. This talk is about that experience, results so far and future plans. The talk will cover: introduction to some CI resources free to open source projects overview of the current commitfest.cputube.org prototype problems encountered along the way success stories and anecdata plans to extend to other operating systems and build options plans to merge it into the Commitfest app other ideas for testing

uk: вхід без авторизації

name: Continuous Integration for Commitfests: Testing everything, all the time