home.social

#постгрес — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #постгрес, aggregated by home.social.

  1. Резервирование PostgreSQL с помощью WAL-G

    Утилита резервирования pgBackRest перестала поддерживаться, проект заархивирован, стало актуальным найти замену для pgBackRest. Главными альтернативами называют WAL-G и Barman. Также, можно использовать pg_basebackup+pg_receivewal. Преимущество WAL-G в том, что резервирование возможно по протоколу S3 и WAL-G обеспечивает более высокую скорость резервирования. Кроме протокола S3, WAL-G может резервировать и восстанавливать из директории в файловой системе и работает с Patroni . Директория не обязательно находится на локальном диске, можно смонтировать любую файловую систему, например, NFS. Утилита свободно распространяемая. В статье описывается как сконфигурировать WAL-G и команды, которыми можно зарезервировать и восстановить PostgreSQL.

    habr.com/ru/articles/1029864/

    #walg #postgresql #postgres #постгрес #бэкапирование #резервирование #бэкапы

  2. Резервирование PostgreSQL с помощью WAL-G

    Утилита резервирования pgBackRest перестала поддерживаться, проект заархивирован, стало актуальным найти замену для pgBackRest. Главными альтернативами называют WAL-G и Barman. Также, можно использовать pg_basebackup+pg_receivewal. Преимущество WAL-G в том, что резервирование возможно по протоколу S3 и WAL-G обеспечивает более высокую скорость резервирования. Кроме протокола S3, WAL-G может резервировать и восстанавливать из директории в файловой системе и работает с Patroni . Директория не обязательно находится на локальном диске, можно смонтировать любую файловую систему, например, NFS. Утилита свободно распространяемая. В статье описывается как сконфигурировать WAL-G и команды, которыми можно зарезервировать и восстановить PostgreSQL.

    habr.com/ru/articles/1029864/

    #walg #postgresql #postgres #постгрес #бэкапирование #резервирование #бэкапы

  3. Резервирование PostgreSQL с помощью WAL-G

    Утилита резервирования pgBackRest перестала поддерживаться, проект заархивирован, стало актуальным найти замену для pgBackRest. Главными альтернативами называют WAL-G и Barman. Также, можно использовать pg_basebackup+pg_receivewal. Преимущество WAL-G в том, что резервирование возможно по протоколу S3 и WAL-G обеспечивает более высокую скорость резервирования. Кроме протокола S3, WAL-G может резервировать и восстанавливать из директории в файловой системе и работает с Patroni . Директория не обязательно находится на локальном диске, можно смонтировать любую файловую систему, например, NFS. Утилита свободно распространяемая. В статье описывается как сконфигурировать WAL-G и команды, которыми можно зарезервировать и восстановить PostgreSQL.

    habr.com/ru/articles/1029864/

    #walg #postgresql #postgres #постгрес #бэкапирование #резервирование #бэкапы

  4. Резервирование PostgreSQL с помощью WAL-G

    Утилита резервирования pgBackRest перестала поддерживаться, проект заархивирован, стало актуальным найти замену для pgBackRest. Главными альтернативами называют WAL-G и Barman. Также, можно использовать pg_basebackup+pg_receivewal. Преимущество WAL-G в том, что резервирование возможно по протоколу S3 и WAL-G обеспечивает более высокую скорость резервирования. Кроме протокола S3, WAL-G может резервировать и восстанавливать из директории в файловой системе и работает с Patroni . Директория не обязательно находится на локальном диске, можно смонтировать любую файловую систему, например, NFS. Утилита свободно распространяемая. В статье описывается как сконфигурировать WAL-G и команды, которыми можно зарезервировать и восстановить PostgreSQL.

    habr.com/ru/articles/1029864/

    #walg #postgresql #postgres #постгрес #бэкапирование #резервирование #бэкапы

  5. Конфликты при закреплении блоков (BufferPin) в PostgreSQL

    Ожидания получения BufferPin включают в себя: 1) Конфликты BufferPin на репликах (recovery conflict). Процесс на реплике startup должен получить блокировку на буфер, чтобы проиграть (replay, apply, накатить журнальную запись) hotcleanup, для этого startup должен дождаться pincount=0. Быстрая очистка происходит часто и процесс startup, если столкнется с блокировкой, полностью приостановит накат. Накатом занимается только он и в один поток. Из-за частых ожиданий BufferPin отставание реплики растёт и кажется, что startup не справляется и кажется, что проблема в том, что он однопоточный. Мониторинг таких ситуаций затруднён, так как в представлении pg_stat_database_conflicts отражаются только конфликты, которые привели к прерыванию запросов на реплике, то есть, когда startup приостанавливал работу более, чем на max_standby_streaming_delay (по умолчению, 30 секунд): Из-за таких конфликтов, используют реплику, которая не обслуживает запросы, чтобы она не отставала из-за конфликтов и на реплику можно было быстро переключиться. 2) конфликты с автовакуумом при заморозке страниц. Такие конфликты есть и на мастере и на реплике и начинаются через 100 миллионов транзакций (по умолчанию, до 18 версии PostgreSQL). При недолгих тестированиях приложений не отлавливаются, проблемы начинаются при эксплуатации. Это одна из причин, по которой нагрузочные тесты длятся долго. Зная, как работает PostgreSQL, можно использовать недолгие тесты и оптимизировать приложение и параметры экземпляра, используя результаты недолгих тестов для обратной связи при настройке.

    habr.com/ru/articles/1025254/

    #postgres #postgresql #постгрес #блокировки #автовакуумирование #вакуум

  6. [Перевод] Как отследить трафик PostgreSQL

    Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.

    habr.com/ru/companies/gnivc/ar

    #wireshark #sniffer #psql #protocol #бд #базы_данных #постгрес #sql

  7. [Перевод] Как отследить трафик PostgreSQL

    Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.

    habr.com/ru/companies/gnivc/ar

    #wireshark #sniffer #psql #protocol #бд #базы_данных #постгрес #sql

  8. [Перевод] Как отследить трафик PostgreSQL

    Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.

    habr.com/ru/companies/gnivc/ar

    #wireshark #sniffer #psql #protocol #бд #базы_данных #постгрес #sql

  9. [Перевод] Как отследить трафик PostgreSQL

    Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.

    habr.com/ru/companies/gnivc/ar

    #wireshark #sniffer #psql #protocol #бд #базы_данных #постгрес #sql

  10. О «залипании» процесса checkpoint и archive_timeout в Postgres

    Добрый день, коллеги! Недавно мы столкнулись со следующей проблемой при тестировании СУБД PostgresPro под высокой нагрузкой: процесс представлял собой массированную многопоточную заливку данных на протяжении многих часов,а данных было около 20 ТБ, потоков — 75. В процессе загрузки наблюдалось следующее явление: через некоторое время процесс checkpointer переставал делать контрольные точки в зависимости от других параметров БД либо сразу, либо через 2-3 часа.

    habr.com/ru/companies/gnivc/ar

    #postgresql #lwlock #checkpoint #troubleshooting #sql #бд #базы_данных #постгрес

  11. 64-битный счётчик транзакций в PostgreSQL

    На конференции PgBootcamp 2025 был доклад Евгения Воропаева "Разработка и отладка 64-битного счётчика транзакций". В докладе рассматривались проблемы, которые встретились при переносе патча с 16 на 18 версию PostgreSQL. В статье описывается история патча.

    habr.com/ru/articles/937992/

    #postgresql #postgres #постгрес #транзакции_в_бд

  12. Внутристраничная очистка в индексах PostgreSQL

    Внутристраничная очистка (HOT cleanup) – это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

    habr.com/ru/companies/tantor/a

    #postgresql #tantor_postgres #postgres #постгрес #pgbench

  13. Внутристраничная очистка в индексах PostgreSQL

    Внутристраничная очистка (HOT cleanup) – это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

    habr.com/ru/companies/tantor/a

    #postgresql #tantor_postgres #postgres #постгрес #pgbench

  14. Внутристраничная очистка в индексах PostgreSQL

    Внутристраничная очистка (HOT cleanup) – это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

    habr.com/ru/companies/tantor/a

    #postgresql #tantor_postgres #postgres #постгрес #pgbench

  15. Внутристраничная очистка в индексах PostgreSQL

    Внутристраничная очистка (HOT cleanup) – это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

    habr.com/ru/companies/tantor/a

    #postgresql #tantor_postgres #postgres #постгрес #pgbench

  16. Аналитические запросы теста TPC-H в PostgreSQL

    В статье рассматривается использование теста TPC-H с PostgreSQL и проблемы, связанные с запросами Q17-Q20 теста. Введение Вместе с PostgreSQL поставляется утилит pg_bench с "TPC-B like" тестом. Кроме этого теста были созданы тесты TPC-R для отчётов, TPC-D для OLAP, TPC-W для заказов в веб-магазине, которые не получили распространения. На основе TPC-D был создан более удачный тест TPC-H для хранилищ данных и аналитических запросов ("OLAP нагрузка"). В тесте используется 8 таблиц и 17 ограничений целостности. В TPC-H выделены номинации по размерам обрабатываемых данных от "до 100Гб" до 30-100Тб. Тест TPC-H предназначен для хранилищ данных, включает в себя 22 запроса, которые называют Q1 ... Q22. Запросы теста TPC-H не меняют данные в таблицах, а значит, для повторных тестирований не нужно пересоздавать или вакуумировать таблицы. В тестах TPC-B, TPC-C, TPC-E запросы довольно простые. В реальных приложениях запросы более сложные, чем в этих тестах. Поэтому для тестирования того, как СУБД выполняет запросы, которые могут встретиться в реальных приложениях, можно использовать все или отдельные запросы из теста TPC-H. Для быстрого аудита производительности различных СУБД используют вариант с 1Гб данных. В этом варианте запросы выполняются быстро, не нужно много памяти под экземпляр СУБД и много места на диске. Можно найти программы или скрипты для большинства СУБД, например, для PostgreSQL, Oracle Database, MySQL. После теста TPC-H появился тест TPC-DS с 99 запросами, но он менее популярен.

    habr.com/ru/articles/901528/

    #postgresql #постгрес #tpch

  17. Общие подходы к классическому PostgreSQL в Kubernetes

    Хабр, привет! Меня зовут Алексей Быков, и я занимаюсь развитием Cloud-native платформы для обработки данных Arenadata One в компании Arenadata. Современные высоконагруженные системы требуют гибкого масштабирования и отказоустойчивости для обеспечения стабильной производительности в условиях постоянно растущих объёмов данных. Когда речь идёт о PostgreSQL, развёрнутом в Kubernetes, перед инженерами встают особые вопросы: как упорядочить реплики для отказоустойчивости, каким образом настроить бэкапы и мониторинг, а главное — как корректно масштабироваться в облачной среде. В этой статье мы рассмотрим, почему «ванильный» PostgreSQL в контейнерной среде может работать ненадёжно и какие механизмы применяются сегодня, чтобы сделать базу данных по-настоящему Cloud Native. Разберём ключевые аспекты классических инсталляций Postgres, проанализируем, в чём заключаются основные сложности их переноса в Kubernetes. Монолит в облаке?!

    habr.com/ru/companies/arenadat

    #postgresql #kubernetes #k8s #cloud_native #patroni #haproxy #neon #backup #администрирование_баз_данных #постгрес

  18. Общие подходы к классическому PostgreSQL в Kubernetes

    Хабр, привет! Меня зовут Алексей Быков, и я занимаюсь развитием Cloud-native платформы для обработки данных Arenadata One в компании Arenadata. Современные высоконагруженные системы требуют гибкого масштабирования и отказоустойчивости для обеспечения стабильной производительности в условиях постоянно растущих объёмов данных. Когда речь идёт о PostgreSQL, развёрнутом в Kubernetes, перед инженерами встают особые вопросы: как упорядочить реплики для отказоустойчивости, каким образом настроить бэкапы и мониторинг, а главное — как корректно масштабироваться в облачной среде. В этой статье мы рассмотрим, почему «ванильный» PostgreSQL в контейнерной среде может работать ненадёжно и какие механизмы применяются сегодня, чтобы сделать базу данных по-настоящему Cloud Native. Разберём ключевые аспекты классических инсталляций Postgres, проанализируем, в чём заключаются основные сложности их переноса в Kubernetes. Монолит в облаке?!

    habr.com/ru/companies/arenadat

    #postgresql #kubernetes #k8s #cloud_native #patroni #haproxy #neon #backup #администрирование_баз_данных #постгрес

  19. Общие подходы к классическому PostgreSQL в Kubernetes

    Хабр, привет! Меня зовут Алексей Быков, и я занимаюсь развитием Cloud-native платформы для обработки данных Arenadata One в компании Arenadata. Современные высоконагруженные системы требуют гибкого масштабирования и отказоустойчивости для обеспечения стабильной производительности в условиях постоянно растущих объёмов данных. Когда речь идёт о PostgreSQL, развёрнутом в Kubernetes, перед инженерами встают особые вопросы: как упорядочить реплики для отказоустойчивости, каким образом настроить бэкапы и мониторинг, а главное — как корректно масштабироваться в облачной среде. В этой статье мы рассмотрим, почему «ванильный» PostgreSQL в контейнерной среде может работать ненадёжно и какие механизмы применяются сегодня, чтобы сделать базу данных по-настоящему Cloud Native. Разберём ключевые аспекты классических инсталляций Postgres, проанализируем, в чём заключаются основные сложности их переноса в Kubernetes. Монолит в облаке?!

    habr.com/ru/companies/arenadat

    #postgresql #kubernetes #k8s #cloud_native #patroni #haproxy #neon #backup #администрирование_баз_данных #постгрес

  20. Общие подходы к классическому PostgreSQL в Kubernetes

    Хабр, привет! Меня зовут Алексей Быков, и я занимаюсь развитием Cloud-native платформы для обработки данных Arenadata One в компании Arenadata. Современные высоконагруженные системы требуют гибкого масштабирования и отказоустойчивости для обеспечения стабильной производительности в условиях постоянно растущих объёмов данных. Когда речь идёт о PostgreSQL, развёрнутом в Kubernetes, перед инженерами встают особые вопросы: как упорядочить реплики для отказоустойчивости, каким образом настроить бэкапы и мониторинг, а главное — как корректно масштабироваться в облачной среде. В этой статье мы рассмотрим, почему «ванильный» PostgreSQL в контейнерной среде может работать ненадёжно и какие механизмы применяются сегодня, чтобы сделать базу данных по-настоящему Cloud Native. Разберём ключевые аспекты классических инсталляций Postgres, проанализируем, в чём заключаются основные сложности их переноса в Kubernetes. Монолит в облаке?!

    habr.com/ru/companies/arenadat

    #postgresql #kubernetes #k8s #cloud_native #patroni #haproxy #neon #backup #администрирование_баз_данных #постгрес

  21. Порядок следования столбцов в таблицах PostgreSQL

    Порядок столбцов в таблицах влияет на компактность и производительность. При небольшом числе строк на это не обращают внимание. Если в таблицах хранится много строк, то даже небольшое уменьшение объема хранения может быть полезно. У столбцов есть оптимальный порядок и менее оптимальные, которые отличаются размером, который используют строки при физическом хранении. Причина того, что переставив столбцы строки в таблице с теми же самыми данными, меняют размер в выравнивании (aligning) и заполнении нулями (padding). В блоке данных выравниваются все структуры: заголовки, поля строк и целиком сами строки. На 64-разраядных операционных системах, длина любой строки и заголовка строки выравниваются по 8 байт. То есть если строка занимает 28 байт, то физически она займёт 32 байта. В конец строки будут добавлены пустые байты. Поля выравниваются сложнее - по 4,8, 16 байт. В статье рассматривается перестановка столбцов на примере демонстрационной базы.

    habr.com/ru/articles/895638/

    #postgresql #postgres #постгрес #выравнивание_данных

  22. Быстрый путь блокирования в PostgreSQL

    В представлении pg_locks есть столбец fastpath, который означает, что блокировка получена по быстрому пути. В документации быстрый путь блокирования описан коротко. В статье рассматривается быстрый путь блокирования и чем он лучше обычного пути.

    habr.com/ru/articles/892460/

    #postgresql #postgres #постгрес #блокировки_sql

  23. Синхронизация файлов при запуске экземпляра PostgreSQL

    Если экземпляр PostgreSQL был некорректно остановлен, то перед восстановлением файлов выполняется синхронизаций всех файлов кластера. Способ синхронизации определяется параметром конфигурации recovery_init_sync_method . В статье рассматривается, как ускорить запуск экземпляра и резервирование, если в директории PGDATA имеется много файлов.

    habr.com/ru/articles/890354/

    #postgresql #postgres #постгрес #pg_basebackup #fsync

  24. Влияние удержания горизонта базы данных PostgreSQL на производительность теста pgbench

    По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.

    habr.com/ru/articles/890044/

    #postgres #postgresql #постгрес #горизонт_событий #vacuum #pgbench

  25. Влияние удержания горизонта базы данных PostgreSQL на производительность теста pgbench

    По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.

    habr.com/ru/articles/890044/

    #postgres #postgresql #постгрес #горизонт_событий #vacuum #pgbench

  26. Влияние удержания горизонта базы данных PostgreSQL на производительность теста pgbench

    По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.

    habr.com/ru/articles/890044/

    #postgres #postgresql #постгрес #горизонт_событий #vacuum #pgbench

  27. Влияние удержания горизонта базы данных PostgreSQL на производительность теста pgbench

    По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.

    habr.com/ru/articles/890044/

    #postgres #postgresql #постгрес #горизонт_событий #vacuum #pgbench

  28. Процедура обнаружения взаимоблокировок в PostgreSQL

    РostgreSQL автоматически обнаруживает взаимоблокировки. В статье рассматривается процедура обнаружения взаимоблокировок, трудоёмкость процедуры обнаружения, причины, по которым параметр конфигурации log_lock_waits зависит от параметра deadlock_timeout и что влияет на выбор его значения. Обычно, приводятся примеры взаимоблокировки двух процессов, но заблокироваться может и более двух процессов. Параметр конфигурации deadlock_timeout устанавливает время ожидания получения блокировки, по истечении которого будет выполняться проверка на наличие взаимоблокировки. Параметр log_lock_waits типа boolean (по умолчанию false) позволяет получить в логе кластера сообщение о том, что сессия ждёт получения блокировки дольше, чем значение deadlock_timeout. Процедура обнаружения взаимоблокировок Если процесс не может получить блокировку, то он засыпает и устанавливает себе таймер, чтобы проснуться через время, заданное параметром конфигурации deadlock_timeout (по умолчанию 1 секунда). Процесс проснётся до истечения таймаута, если блокировка ему будет предоставлена. По завершению таймаута процесс начинает процедуру обнаружения взаимоблокировки. Процедура обнаружения взаимоблокировок относительно трудоёмка, так как набор блокировок не дерево, а граф. В графе проверяется наличия колец, которые указывают на взаимоблокировки. Если взаимоблокировки нет, то процесс снова заснёт и больше не будет проверять, есть ли взаимоблокировка до получения блокировки или прерывания транзакции в соответствии с параметрами transaction_timeout и аналогичными параметрами. Почему процесс не будет дальше поверять ситуацию возникновения взаимоблокировки с частотой deadlock_timeout?

    habr.com/ru/articles/891782/

    #postgresql #postgres #постгрес #дедлок #deadlock #блокировки

  29. Маскировка объектов схем в подпрограммах SECURITY DEFINER в PostgreSQL

    Подпрограммы (функции и процедуры) со свойством SECURITY DEFINER выполняются с правами владельца. Это даёт возможность непривилегированному пользователю выполнить маскировку объектов, к которым относятся не только таблицы, но и подпрограммы и выполнить команду с правами владельца подпрограммы. Если владелец является суперпользователем, то можно выполнить любую команду с правами суперпользователя. В статье рассматривается, как выполнить маскировку функции и как создавать безопасные подпрограммы.

    habr.com/ru/articles/891032/

    #postgres #постгрес #postgresql #security

  30. Работа с БД в MongoDB и PostgreSQL через питон(python3) и WSL

    PostgreSQL и MongoDB: два подхода к управлению данными В мире баз данных существует множество решений, каждое из которых подходит для определённых задач. Два популярных представителя — это PostgreSQL и MongoDB. Они представляют собой разные подходы к хранению и обработке данных: реляционный и документоориентированный. Рассмотрим их основные особенности.

    habr.com/ru/articles/885824/

    #монго #постгрес #русский

  31. Работа с БД в MongoDB и PostgreSQL через питон(python3) и WSL

    PostgreSQL и MongoDB: два подхода к управлению данными В мире баз данных существует множество решений, каждое из которых подходит для определённых задач. Два популярных представителя — это PostgreSQL и MongoDB. Они представляют собой разные подходы к хранению и обработке данных: реляционный и документоориентированный. Рассмотрим их основные особенности.

    habr.com/ru/articles/885822/

    #монго #постгрес #русский

  32. Lite-версия мигратора Flyway для PostgreSQL на TypeScript

    Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .

    habr.com/ru/articles/874028/

    #flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита

  33. Lite-версия мигратора Flyway для PostgreSQL на TypeScript

    Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .

    habr.com/ru/articles/874028/

    #flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита

  34. Lite-версия мигратора Flyway для PostgreSQL на TypeScript

    Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .

    habr.com/ru/articles/874028/

    #flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита

  35. Lite-версия мигратора Flyway для PostgreSQL на TypeScript

    Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .

    habr.com/ru/articles/874028/

    #flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита