pgsql | Unsorted

Telegram-канал pgsql - pgsql – PostgreSQL

9404

Чат русскоязычного сообщества PostgreSQL, здесь мы обсуждаем технические вопросы, для поиска работы и предложения вакансий есть группа https://t.me/pgsqljobs For English discussion visit https://t.me/pg_sql

Subscribe to a channel

pgsql – PostgreSQL

Благодарю.

ПРосто требуется минимальное влияние реплики на мастер.
со слотом могут начать копиться wal

Читать полностью…

pgsql – PostgreSQL

а вообще советую при случае рассмотреть возможность перехода с archive_command на архивацию с помощью pg_receivewal через слот физической репликации.
не говорю что прямо обязательно перейти на этот механизм, но по крайней мере оценить, подходит ли он вам. мне вот например зашло.

Читать полностью…

pgsql – PostgreSQL

У вас вместо $2b$ (как у меня в вопросе) написано $2a$.
Хз что это значит, но я написал такой запрос, и у меня теперь тоже даёт полный хеш bcrypt

Читать полностью…

pgsql – PostgreSQL

Так... Что вы сделали по другому?

Читать полностью…

pgsql – PostgreSQL

Долго рассказывать. Сервер, раздаёт кое-какие данные на фронтенды. Для аутентификации ходит на бекенды фронтендов (целый список бекендов). Тогда все писали хранимки, а пара внутренних проектов была реализована просто как база данных без бекенда.
Я собираюсь в будущем переписать эту штуку, добавить функций. Но не сейчас.

Читать полностью…

pgsql – PostgreSQL

Не важно, с какой скоростью работает команда или библиотека архивирования, если только она не ниже средней скорости, с которой сервер генерирует записи WAL. Обычно работа продолжается, даже если процесс архивирования немного отстаёт. Если же архивирование отстаёт значительно, это приводит к увеличению объёма данных, которые могут быть потеряны в случае аварии. При этом каталог pg_wal/ будет содержать большое количество ещё не заархивированных файлов-сегментов, которые в конце концов могут занять всё доступное дисковое пространство. Поэтому рекомендуется контролировать процесс архивации и следить за тем, чтобы он выполнялся как задумано

Читать полностью…

pgsql – PostgreSQL

Что за программа и откуда такие требования взялись?

Читать полностью…

pgsql – PostgreSQL

Я создал экземпляр PSQL через initdb в определённый папке. Создалось успешно, сказало сразу команду для запуска. Но UNIX-сокет почему-то остался в папке установки PSQL. Я поменял его путь postgresql.conf н одну из вложенных папок в директории создания экземпляра. Или есть определённый стандарт, и я что-то неправильно создал?

Читать полностью…

pgsql – PostgreSQL

Да вот как раз этот Index Scan Backward ожидает на два порядка больше строк.
Собственно удивляет что когда используешь только большую таблицу логов - оптимайзер не ошибается. Стоит приджойнить мелкую таблицу-справочник - сразу такой затык.

Читать полностью…

pgsql – PostgreSQL

у ИБ и спросите

но если нужны предположения, то вот такое: с темповым табличным пространством (схемой) не хотят возиться

Читать полностью…

pgsql – PostgreSQL

А вообще — explain analyze у вас в руках.

Вы и сами можэте посчитать и диеамику оцэнки (взяв несколько точек скана по дате и несколько точек скана по праыильному индэксу) и реальное время и какой узел там кардинально неправильно посчитан.

ЗЫ Да, стандартная проблема с ожыданием early abort и коррелированными данными.

Читать полностью…

pgsql – PostgreSQL

Тоже хороший аргумент, спасибо.

Дискуссии с ИБ идут, они нормальные у нас, просто слегка параноики, если я правильно понял.

Если можно темп таблицы делать выполняя требования безы, то это, конечно, правильней

Читать полностью…

pgsql – PostgreSQL

О как, оно отдельно на временные даётся? Тогда да, проще тупо запретить.

Читать полностью…

pgsql – PostgreSQL

А, там же схема специальная. Прямо даже любопытно стало!

Читать полностью…

pgsql – PostgreSQL

Хороший аргумент, спасибо

Читать полностью…

pgsql – PostgreSQL

Хочешь сказать, pgcrypto поддерживает 2a, но не поддерживает 2b?

Читать полностью…

pgsql – PostgreSQL

Это значит версию алгоритма

Читать полностью…

pgsql – PostgreSQL

В смысле что я сделал? Ничего не сделал, просто вызвал bcrypt в питоне и постгресе с одинаковыми параметрами

Читать полностью…

pgsql – PostgreSQL

в pg17 появится ещё transaction_timeout.

Читать полностью…

pgsql – PostgreSQL

Нормально bcrypt работает в постгресе

>>> salt = bcrypt.gensalt(prefix=b'2a')
>>> print(salt)
b'$2a$12$YfSI5GGNt/ZQdj4Su2GWV.'
>>> bcrypt.hashpw(b'password', salt)
b'$2a$12$YfSI5GGNt/ZQdj4Su2GWV.sLTWtjvnz8FldZmkx51Z/Pmzz4SfXwO'


postgres=# SELECT crypt('password', '$2a$12$YfSI5GGNt/ZQdj4Su2GWV.');
crypt
--------------------------------------------------------------
$2a$12$YfSI5GGNt/ZQdj4Su2GWV.sLTWtjvnz8FldZmkx51Z/Pmzz4SfXwO
(1 row)

Читать полностью…

pgsql – PostgreSQL

Добрый день.

Вопрос по

archive_command


Если вдруг идет копирование WAL на медленные диск и в пик нагрузки пишется долго, postgres начинает ждать пока допишется?

Т.е. замедляет ли копирование wal работу СУБД ?

Postgresql 11

Читать полностью…

pgsql – PostgreSQL

В целом это дистрибутивозависимо. Тут главное чтоб psql или какой другой клиент мог теперь этот сокет обнаружить (если конечно используется несетевое соединение)

Читать полностью…

pgsql – PostgreSQL

Доброе утро. Столкнулся со странным поведением, при восстановлении дампа через psql -f dumpname у меня может намертво повиснуть минут на 40 процесс на refresh materialized view. Но, может и не повиснуть и отработать за ожидаемые 1-2 минуты.

Иссякли идеи, что может быть не так, может кто-то сталкивался?

Читать полностью…

pgsql – PostgreSQL

Реальный пример: в компании имелось условно два сервера A и B (рядом стоящие и соединённые жирным таким кабелем), связь между ними запрещена по соображениям ИБ. Но имеется необходимость в обмене данными между А и В в достаточно большом объеме. Доступ к А и В имеется только с сервера С или по vpn для удаленщиков.
В результате люди просто выгружали данные на С и проводили необходимый обмен или превращали необходимые данные в параметры в виде json. Последствия как несложно догадаться весьма плачевные😊

Читать полностью…

pgsql – PostgreSQL

я предположил, что выражение с cte1 и c подзапросом может привести к выполнению count() для каждой строки из cte1

так и будет, если подзапрос (select count(*) from cte1) зависит от основного запроса. В этом случае не зависит и считает один раз.

а запросы с сте лучше не писать, если число строк в сте большое предполагается. СТЕ скан может очень долго работать.
в вашем случае select id, name from user
и select count(*) from user
практически эквивалентно

with cte1 as (select id, name from user )
select a, (select count(*) from cte1) from cte1;

Читать полностью…

pgsql – PostgreSQL

Не то, чтобы плохом распределенит... Неожыданном для оптимизатора постгреса.

Читать полностью…

pgsql – PostgreSQL

Правильнее узнать что именно они хотят таким образом добиться. Предложение по запрету temp таблиц изначально не является чем-то хорошим и может у иб другая задача, которую они решают кривым способом.

Читать полностью…

pgsql – PostgreSQL

GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
ON DATABASE имя_БД [, ...]

не давать TEMPORARY / CREATE права на ДБ для пользователей?..

Читать полностью…

pgsql – PostgreSQL

А чем старый добрый запрет на создание таблиц вообще плох?

Читать полностью…

pgsql – PostgreSQL

Эта проблема не решается формальным запретом временных таблиц, т.к. если злоумышленник получит доступ к бд, ему эти запреты ни по чём.
Так что если есть желание защититься от данного вектора атаки - нужен event trigger, который реально не даст их создавать (при этом не вижу проблемы в том, чтобы сделать исключения в том же триггере).

Читать полностью…
Subscribe to a channel