#psql — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #psql, aggregated by home.social.
-
lightweight #PostgreSQL client for #gnome
#psql #sql #postgres -
lightweight #PostgreSQL client for #gnome
#psql #sql #postgres -
lightweight #PostgreSQL client for #gnome
#psql #sql #postgres -
lightweight #PostgreSQL client for #gnome
#psql #sql #postgres -
lightweight #PostgreSQL client for #gnome
#psql #sql #postgres -
psql command line tutorial and cheat sheet
https://piefed.social/c/secret_shape/p/2013341/psql-command-line-tutorial-and-cheat-sheet
-
psql command line tutorial and cheat sheet
https://piefed.social/c/secret_shape/p/2013341/psql-command-line-tutorial-and-cheat-sheet
-
psql command line tutorial and cheat sheet
https://piefed.social/c/secret_shape/p/2013341/psql-command-line-tutorial-and-cheat-sheet
-
psql command line tutorial and cheat sheet
https://piefed.social/c/secret_shape/p/2013341/psql-command-line-tutorial-and-cheat-sheet
-
GIN‑индексы для JSONB в PostgreSQL: jsonb_ops vs jsonb_path_ops
С JSONB в PostgreSQL есть одна довольно коварная ловушка: GIN‑индекс вроде бы поставили, запросы вроде бы работают, EXPLAIN не пугает — и на этом многие успокаиваются. Но как только данных становится действительно много, выясняется, что выбор между jsonb_ops и jsonb_path_ops — это не нюанс из документации, а вполне ощутимая разница в размере индекса, количестве лишних проверок и времени выполнения запросов. В этой статье разберём, как устроены оба оператор‑класса, почему один считается универсальным, а второй часто оказывается выгоднее на практике, и в каких случаях дефолтный выбор в PostgreSQL оказывается далеко не лучшим.
https://habr.com/ru/companies/otus/articles/1015518/
#psql #GINиндексы #JSONB #postgresql #jsonb_ops #jsonb_path_ops #индексация_JSONB #оптимизация_SQLзапросов #containment_operator
-
GIN‑индексы для JSONB в PostgreSQL: jsonb_ops vs jsonb_path_ops
С JSONB в PostgreSQL есть одна довольно коварная ловушка: GIN‑индекс вроде бы поставили, запросы вроде бы работают, EXPLAIN не пугает — и на этом многие успокаиваются. Но как только данных становится действительно много, выясняется, что выбор между jsonb_ops и jsonb_path_ops — это не нюанс из документации, а вполне ощутимая разница в размере индекса, количестве лишних проверок и времени выполнения запросов. В этой статье разберём, как устроены оба оператор‑класса, почему один считается универсальным, а второй часто оказывается выгоднее на практике, и в каких случаях дефолтный выбор в PostgreSQL оказывается далеко не лучшим.
https://habr.com/ru/companies/otus/articles/1015518/
#psql #GINиндексы #JSONB #postgresql #jsonb_ops #jsonb_path_ops #индексация_JSONB #оптимизация_SQLзапросов #containment_operator
-
GIN‑индексы для JSONB в PostgreSQL: jsonb_ops vs jsonb_path_ops
С JSONB в PostgreSQL есть одна довольно коварная ловушка: GIN‑индекс вроде бы поставили, запросы вроде бы работают, EXPLAIN не пугает — и на этом многие успокаиваются. Но как только данных становится действительно много, выясняется, что выбор между jsonb_ops и jsonb_path_ops — это не нюанс из документации, а вполне ощутимая разница в размере индекса, количестве лишних проверок и времени выполнения запросов. В этой статье разберём, как устроены оба оператор‑класса, почему один считается универсальным, а второй часто оказывается выгоднее на практике, и в каких случаях дефолтный выбор в PostgreSQL оказывается далеко не лучшим.
https://habr.com/ru/companies/otus/articles/1015518/
#psql #GINиндексы #JSONB #postgresql #jsonb_ops #jsonb_path_ops #индексация_JSONB #оптимизация_SQLзапросов #containment_operator
-
GIN‑индексы для JSONB в PostgreSQL: jsonb_ops vs jsonb_path_ops
С JSONB в PostgreSQL есть одна довольно коварная ловушка: GIN‑индекс вроде бы поставили, запросы вроде бы работают, EXPLAIN не пугает — и на этом многие успокаиваются. Но как только данных становится действительно много, выясняется, что выбор между jsonb_ops и jsonb_path_ops — это не нюанс из документации, а вполне ощутимая разница в размере индекса, количестве лишних проверок и времени выполнения запросов. В этой статье разберём, как устроены оба оператор‑класса, почему один считается универсальным, а второй часто оказывается выгоднее на практике, и в каких случаях дефолтный выбор в PostgreSQL оказывается далеко не лучшим.
https://habr.com/ru/companies/otus/articles/1015518/
#psql #GINиндексы #JSONB #postgresql #jsonb_ops #jsonb_path_ops #индексация_JSONB #оптимизация_SQLзапросов #containment_operator
-
EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно
Привет, Хабр! Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже. Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил. Понять PostgreSQL
https://habr.com/ru/companies/otus/articles/1014452/
#explain #psql #PostgreSQL #план_выполнения #оптимизация_запросов #индексы_PostgreSQL #производительность_БД
-
EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно
Привет, Хабр! Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже. Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил. Понять PostgreSQL
https://habr.com/ru/companies/otus/articles/1014452/
#explain #psql #PostgreSQL #план_выполнения #оптимизация_запросов #индексы_PostgreSQL #производительность_БД
-
EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно
Привет, Хабр! Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже. Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил. Понять PostgreSQL
https://habr.com/ru/companies/otus/articles/1014452/
#explain #psql #PostgreSQL #план_выполнения #оптимизация_запросов #индексы_PostgreSQL #производительность_БД
-
EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно
Привет, Хабр! Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже. Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил. Понять PostgreSQL
https://habr.com/ru/companies/otus/articles/1014452/
#explain #psql #PostgreSQL #план_выполнения #оптимизация_запросов #индексы_PostgreSQL #производительность_БД
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Had to do a maintenance on Immich, postgres cluster got disconnected from the operator (somehow?) and wouldn't scale past 1 replica anymore...
And we don't like single points of failure here
So first, descheduling the Immich pod, to avoid weird writes between last backup and actual DB shutdown
Triggering a manual backup
Deleting cluster
Recovering cluster from last backup
Woops, the shared library object name got renamed from vectorchord 0.3 to 0.4.3, now it's "vchord.so" instead of "vectors.so"
Quick fix and boom, everything comes back up
Restoring Argo auto sync and the cluster is all back up, distributed and shining
When Backups, DevOps and GitOps come back in a smooth and clear motion ⭐
#postgresql #postgres #cnpg #psql #selfhosted #selfhosting #homelab #k3s #kubernetes #linux #opensource #immich #vectorchord #backup #devops #argocd #gitops
-
Had to do a maintenance on Immich, postgres cluster got disconnected from the operator (somehow?) and wouldn't scale past 1 replica anymore...
And we don't like single points of failure here
So first, descheduling the Immich pod, to avoid weird writes between last backup and actual DB shutdown
Triggering a manual backup
Deleting cluster
Recovering cluster from last backup
Woops, the shared library object name got renamed from vectorchord 0.3 to 0.4.3, now it's "vchord.so" instead of "vectors.so"
Quick fix and boom, everything comes back up
Restoring Argo auto sync and the cluster is all back up, distributed and shining
When Backups, DevOps and GitOps come back in a smooth and clear motion ⭐
#postgresql #postgres #cnpg #psql #selfhosted #selfhosting #homelab #k3s #kubernetes #linux #opensource #immich #vectorchord #backup #devops #argocd #gitops
-
Had to do a maintenance on Immich, postgres cluster got disconnected from the operator (somehow?) and wouldn't scale past 1 replica anymore...
And we don't like single points of failure here
So first, descheduling the Immich pod, to avoid weird writes between last backup and actual DB shutdown
Triggering a manual backup
Deleting cluster
Recovering cluster from last backup
Woops, the shared library object name got renamed from vectorchord 0.3 to 0.4.3, now it's "vchord.so" instead of "vectors.so"
Quick fix and boom, everything comes back up
Restoring Argo auto sync and the cluster is all back up, distributed and shining
When Backups, DevOps and GitOps come back in a smooth and clear motion ⭐
#postgresql #postgres #cnpg #psql #selfhosted #selfhosting #homelab #k3s #kubernetes #linux #opensource #immich #vectorchord #backup #devops #argocd #gitops
-
Had to do a maintenance on Immich, postgres cluster got disconnected from the operator (somehow?) and wouldn't scale past 1 replica anymore...
And we don't like single points of failure here
So first, descheduling the Immich pod, to avoid weird writes between last backup and actual DB shutdown
Triggering a manual backup
Deleting cluster
Recovering cluster from last backup
Woops, the shared library object name got renamed from vectorchord 0.3 to 0.4.3, now it's "vchord.so" instead of "vectors.so"
Quick fix and boom, everything comes back up
Restoring Argo auto sync and the cluster is all back up, distributed and shining
When Backups, DevOps and GitOps come back in a smooth and clear motion ⭐
#postgresql #postgres #cnpg #psql #selfhosted #selfhosting #homelab #k3s #kubernetes #linux #opensource #immich #vectorchord #backup #devops #argocd #gitops
-
Had to do a maintenance on Immich, postgres cluster got disconnected from the operator (somehow?) and wouldn't scale past 1 replica anymore...
And we don't like single points of failure here
So first, descheduling the Immich pod, to avoid weird writes between last backup and actual DB shutdown
Triggering a manual backup
Deleting cluster
Recovering cluster from last backup
Woops, the shared library object name got renamed from vectorchord 0.3 to 0.4.3, now it's "vchord.so" instead of "vectors.so"
Quick fix and boom, everything comes back up
Restoring Argo auto sync and the cluster is all back up, distributed and shining
When Backups, DevOps and GitOps come back in a smooth and clear motion ⭐
#postgresql #postgres #cnpg #psql #selfhosted #selfhosting #homelab #k3s #kubernetes #linux #opensource #immich #vectorchord #backup #devops #argocd #gitops
-
Blogged: FbNetExternalEngine 7.0 released
-
Blogged: FbNetExternalEngine 7.0 released
-
Blogged: FbNetExternalEngine 7.0 released
-
Blogged: FbNetExternalEngine 7.0 released
-
Blogged: FbNetExternalEngine 7.0 released
-
Tara, aralin natin ang window functions sa PostgreSQL! Sa video na ito (70) ipapakita kung paano gamitin ang OVER() kasama ang RANK() at DENSE_RANK() sa psql — praktikal sa terminal at workflows. Perfect para sa mga Pinoy devs at DBAs na gustong mag-level-up! #PostgreSQL #SQL #WindowFunctions #RANK #DENSE_RANK #psql #Linux #Pinoy #Tagalog
https://apollo.lanofthedead.xyz/videos/watch/599097ff-5bf0-4c72-8f43-9fdddf98b464