Size: a a a

pgsql – PostgreSQL

2020 August 11

ДЛ

Дмитрий Лукьянов... in pgsql – PostgreSQL
А в рамках одного подключения можно открывать и закрывать сессии. Хотя это довольно бесполезно, на мой взгляд. Но это можно, т.к. процесс (бэкэнд) и сессия - это разные логические единицы.
источник

MS

Marat Surmashev in pgsql – PostgreSQL
Yaroslav Schekin
А как Вы проверяете это по pg_stat_activity?
Yaroslav примерно так
SELECT pid, age(clock_timestamp(), query_start), query_start , query 
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start  nulls last;
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Дмитрий Лукьянов
Процессник. Но там формально есть два режима. Dedicated server - аналог ПГ. Shared server - когда Оракл есть уже готовые процессы, и подключения идут к ним, и с помощью процесса-координатора раскидываются задачки между ними... Но второй режим редко кем используется. В основном Dedicated.
Спасибо, однако.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Николай Коженин
Привет всем! У меня периодически загружаются данные в БД (xlsx, csv файлы), которые затем должны быть вручную подтверждены.
Загружаются они для проверки, чтобы устранить человеческую ошибку. Допустим проверить соответствии отношениям или уникальности столбцов.
Проблема в том, что я не хочу чтобы эти данные участвовали в работе системы до их подтверждения.

Вопрос: существует ли возможность создать виртуальную копию определенной таблицы, не доступной для остальной части системы, но в которую я могу загрузить эти данные.
Либо предложите ваш способ
А в чём состоит эта проверка / подтверждение?
Т.е. оно выполняется вручную или автоматически, сразу или потом?
источник

НК

Николай Коженин... in pgsql – PostgreSQL
Alexander Nikitin
ну, а в одной транзакции загружать и проверять? И если что-то идёт не так, то откатывать?
Я логирую по каждому вхождению в таблицу. В транзакциях есть возможность не прерываться при несоответствии ограничениям?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Дмитрий Лукьянов
Процессник. Но там формально есть два режима. Dedicated server - аналог ПГ. Shared server - когда Оракл есть уже готовые процессы, и подключения идут к ним, и с помощью процесса-координатора раскидываются задачки между ними... Но второй режим редко кем используется. В основном Dedicated.
используется при частых и коротких сессиях (web). у Postgres-а для этого используется pgbouncer
источник

НК

Николай Коженин... in pgsql – PostgreSQL
Yaroslav Schekin
А в чём состоит эта проверка / подтверждение?
Т.е. оно выполняется вручную или автоматически, сразу или потом?
Пользователь загружает таблицу и проверяет если все вхождения соответствуют ограничениям. Если его не устраивает, то перезагружает измененные данные
источник

ДЛ

Дмитрий Лукьянов... in pgsql – PostgreSQL
Victor Yegorov
используется при частых и коротких сессиях (web). у Postgres-а для этого используется pgbouncer
Используется. Но редко. Т.к. сейчас широкое распространение получили пулы соединений на серверах приложений, и сессии итак открытыми висят. Нет расхода ресурсов на их создание.

Shared server применяется лишь в ситуациях, когда сессий ну ооочень много, и не хочется тратить лишнюю память на отдельные процессы даже в рамках пула, ресурсы шарятся. Но это имеет смысл только для коротких и легких запросов. Если они тяжелые, и занимают все 100% ресурсов процесса, то в этом нет смысла.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Marat Surmashev
Yaroslav примерно так
SELECT pid, age(clock_timestamp(), query_start), query_start , query 
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start  nulls last;
Ну так неправильно смотрите, вот и всё.
Вы получаете данные и о том, как давно был выполнен последний запрос в idle сессиях, например.
Т.е. "query_start: Time when the currently active query was started, or if state is not active, when the last query was started".
См. https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Николай Коженин
Пользователь загружает таблицу и проверяет если все вхождения соответствуют ограничениям. Если его не устраивает, то перезагружает измененные данные
Если вот это 1) "пользователь загружает таблицу" и  2) "проверяет если все вхождения соответствуют ограничениям" разнесены во времени (т.е., к примеру, загрузил из одного файла, потом из второго, потом проверил и подтвердил данные из первого и т.п.) — казалось бы, для этих данных должна быть отдельная постоянная таблица... нет?
источник

MS

Marat Surmashev in pgsql – PostgreSQL
Yaroslav Schekin
Ну так неправильно смотрите, вот и всё.
Вы получаете данные и о том, как давно был выполнен последний запрос в idle сессиях, например.
Т.е. "query_start: Time when the currently active query was started, or if state is not active, when the last query was started".
См. https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
Спасибо добрый человек, разобрался )
источник

EM

Eshu Marabo in pgsql – PostgreSQL
Всем привет)
источник

М

Максим in pgsql – PostgreSQL
Как выставить приоритет по поиску. То есть надо найти то или то, но сначала надо найти все первые то, а потом другие то
источник

NB

Nick Belous in pgsql – PostgreSQL
Необходимо считать с нового значения. вводимого во вьюху(на нее привязан триггер на insert), колонку type_id. В зависимости от значения уже выполнить if. Код прилагаю.
Не могли бы подсказать, как сделать эту часть?
https://pastebin.com/QACwLknN
источник

VG

Vasiliy Gusel in pgsql – PostgreSQL
Максим
Как выставить приоритет по поиску. То есть надо найти то или то, но сначала надо найти все первые то, а потом другие то
В любом случае если вы делаете 2 поиска, то лучше разделить поиск на сложный запрос, в первом (вложенном) вы отбираете по основному параметру, а потом можете относительно этих данных так же применять фильтрацию
источник

P

Plus in pgsql – PostgreSQL
как сделать одностороннюю синхронизацию баз данных из mssql в pgsql ?
источник

VV

Vasily Vologdin in pgsql – PostgreSQL
Plus
как сделать одностороннюю синхронизацию баз данных из mssql в pgsql ?
о, и мне тоже актуально
я сейчас использую NIFI
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nick Belous
Необходимо считать с нового значения. вводимого во вьюху(на нее привязан триггер на insert), колонку type_id. В зависимости от значения уже выполнить if. Код прилагаю.
Не могли бы подсказать, как сделать эту часть?
https://pastebin.com/QACwLknN
А почему не просто NEW.type_id? Или в чём вопрос?
источник

NB

Nick Belous in pgsql – PostgreSQL
Выдает ошибку
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nick Belous
Выдает ошибку
Какую? И показали бы Вы код целиком (создания триггера, view, триггерной функции и \d или CREATE TABLE), чтобы можно было воспроизвести проблему...
источник