diff --git a/db/sql/postgres/docs/conference.txt b/db/sql/postgres/docs/conference.txt new file mode 100644 index 000000000..9fbd6d803 --- /dev/null +++ b/db/sql/postgres/docs/conference.txt @@ -0,0 +1,3 @@ +2024 +MicrosoftDeveloper - POSETTE of p42 + https://www.youtube.com/playlist?list=PLlrxD0HtieHg5ldHlEn3nMMpClX0RUntH diff --git a/db/sql/postgres/docs/courses/courses.txt b/db/sql/postgres/docs/courses/courses.txt index bdf894a31..5f023d196 100644 --- a/db/sql/postgres/docs/courses/courses.txt +++ b/db/sql/postgres/docs/courses/courses.txt @@ -10,6 +10,9 @@ PostgreSQL for Everybody Specialization https://tutsnode.net/postgresql-for-everybody-specialization/ magnet:?xt=urn:btih:315d0ae0cbb895c3bd1ffb8eec64d9ed973cc2a0 ! 4.87g, good, tons of misc other +2021 +Amigoscode - SQL For Beginners Tutorial 0:00 of 4:22:52 + https://www.youtube.com/watch?v=5hzZtqCNQKk 2016 Administer PG 9.4 https://www.youtube.com/playlist?list=PLaFqU3KCWw6KzGwUubZm-9-vKsi6vh5qC diff --git a/db/sql/postgres/feature/internals/docs/presentations.txt b/db/sql/postgres/feature/internals/docs/presentations.txt index 6d9dcd441..ec796387e 100644 --- a/db/sql/postgres/feature/internals/docs/presentations.txt +++ b/db/sql/postgres/feature/internals/docs/presentations.txt @@ -5,3 +5,5 @@ BetweenBraces - PG 16 Internals of p5 https://www.youtube.com/playlist?list=PLlghaO_0b1OepxMpMZAIoI3dHgozIEyLp pgpro stuff https://www.youtube.com/playlist?list=PLlghaO_0b1OepxMpMZAIoI3dHgozIEyLp +MicrosoftDevelopers - Dombrovskaya - Tuning Parameters in Postgres vs. Tuning Your Queries of 17:34 + https://www.youtube.com/watch?v=phR2hKwgs8E diff --git a/db/sql/postgres/feature/internals/storage/storage.txt b/db/sql/postgres/feature/internals/storage/storage.txt index f2bd49fdc..70f57121d 100644 --- a/db/sql/postgres/feature/internals/storage/storage.txt +++ b/db/sql/postgres/feature/internals/storage/storage.txt @@ -1,6 +1,10 @@ https://www.postgresql.org/docs/current/storage.html https://www.postgresql.org/docs/current/storage-page-layout.html +2024 +LvivJavaClub - 310 - PostgreSQL store by Oleksandr Belinskyi 0:00 of 53:24 + https://www.youtube.com/watch?v=YmRu7AGyoqw + each table consists from multiple layers each file is no more than 1 Gb diff --git a/db/sql/postgres/feature/performance/explain/presentations.txt b/db/sql/postgres/feature/performance/explain/presentations.txt index cfb6c0876..b4aeee4cb 100644 --- a/db/sql/postgres/feature/performance/explain/presentations.txt +++ b/db/sql/postgres/feature/performance/explain/presentations.txt @@ -1,5 +1,5 @@ 2023 -Tenzor - Backend School p4 - Query Analysis p2 10:00 of 1:40:59 +Tenzor - Backend School p4 - Query Analysis p2 20:00 of 1:40:59 https://www.youtube.com/watch?v=Rg7AAEso3z0 ! 5:00 - Custom Scan () ! Recheck Cond - ??? diff --git a/db/sql/postgres/feature/performance/planner/planner.txt b/db/sql/postgres/feature/performance/planner/planner.txt index d8af1af57..c198530e4 100644 --- a/db/sql/postgres/feature/performance/planner/planner.txt +++ b/db/sql/postgres/feature/performance/planner/planner.txt @@ -1,2 +1,7 @@ https://www.postgresql.org/docs/current/runtime-config-query.html https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-JOIN-COLLAPSE-LIMIT + +2023 +floy: Introduction to Postgres Query Planning 0:00 of 57:02 + https://www.youtube.com/watch?v=k9AAkbII3Pg + https://leftshift.github.io/query-planner-talk/ diff --git a/db/sql/postgres/feature/performance/planner/statistics.txt b/db/sql/postgres/feature/performance/planner/statistics.txt index 1d181507c..8abc54176 100644 --- a/db/sql/postgres/feature/performance/planner/statistics.txt +++ b/db/sql/postgres/feature/performance/planner/statistics.txt @@ -4,6 +4,20 @@ https://www.postgresql.org/docs/current/sql-createstatistics.html https://www.postgresql.org/docs/current/planner-stats.html https://www.postgresql.org/docs/current/multivariate-statistics-examples.html +2023 +Otus - Anton Zolotov - Statistics usage for Query Optimization 1:00:00 of 1:55:27 + https://www.youtube.com/watch?v=yNAbEtnFikI + ! 14:00 - create table ... with(autovacuum_enabled=false); + ! 19:00 - select reltuples, relpages from pg_class where relname=''; + ! -1 0 + ! 26:00 - pg_statistics/pg_stats view + ! null_frac, n_distinct -- negative/positive values - are real-num/fraction + ! 28:00 - while analyze, table is checked not fully (default_statistics_target (100) * 300 = 300 000 is statistically good number of rows) + ! clustered idx - data is ordered + ! correlation - data is ordered asc, 0 - not orered, -1 - desc + ! most_common_vals - array (of 100) + ! most_common_freqs - array as well (of 100) + CREATE EXTENSION pgstattuple; SELECT * FROM pgstattuple('table-name') \gx -[ RECORD 1 ]------+-------- diff --git a/db/sql/postgres/feature/type/jsonb/ext/norm-dombrovskaya.txt b/db/sql/postgres/feature/type/jsonb/ext/norm-dombrovskaya.txt new file mode 100644 index 000000000..86c6e8662 --- /dev/null +++ b/db/sql/postgres/feature/type/jsonb/ext/norm-dombrovskaya.txt @@ -0,0 +1,5 @@ +https://github.com/hettie-d/NORM + +2024 +ScyllaDB - Dombrovskaya - P99 CONF 2023 | ORM is Bad, But is There an Alternative of 20:42 + https://www.youtube.com/watch?v=O0jL1YCek7U diff --git a/db/sql/postgres/feature/type/jsonb/ext/pg_jsonschema.txt b/db/sql/postgres/feature/type/jsonb/ext/pg_jsonschema.txt new file mode 100644 index 000000000..394329d03 --- /dev/null +++ b/db/sql/postgres/feature/type/jsonb/ext/pg_jsonschema.txt @@ -0,0 +1,5 @@ +pg_jsonschema + +2024 +MicrosoftDeveloper - Even JSONB In Postgres Needs Schemas of 23:18 + https://www.youtube.com/watch?v=F6X60ln2VNc diff --git a/pl/java/libfws/spring/features/scheduling/schedlock.txt b/pl/java/libfws/spring/features/scheduling/schedlock.txt index 20fc18698..91a6feeb5 100644 --- a/pl/java/libfws/spring/features/scheduling/schedlock.txt +++ b/pl/java/libfws/spring/features/scheduling/schedlock.txt @@ -30,3 +30,9 @@ public class ShedLockConfig { .build()); } } + +spring/shedlock-spring/src/main/java/net/javacrumbs/shedlock/spring/aop/SpringLockConfigurationExtractor.java + + private final Converter durationConverter; + + Duration result = durationConverter.convert(stringValueFromAnnotation);