:: Не фоксом единым
PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
В MSSQL есть функция Context_Info(). Есть ли какой то аналог в PostgreSQL?
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Установить
select set_config('local.var_name', 'value', false)
прочитать
select current_setting('local.var_name')

Взято от сюда


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
Спасибо, Паша.
upd
К вопросу-как раз в триггере идет вызов SP.
Переношу говнокод с MSSQL в говнокгод на PG



Исправлено 1 раз(а). Последнее : Дмитрий Петров, 17.08.23 08:12
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Для "дураков" про PG отличный материал, видео + презентации.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
Паша, спасибо. Хороший рерурс.
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Кстати, ты понял как и за счет чего PG обеспечивает уровень изоляции транзакции Repetable Read??

Если для RC (как я понял) обеспечивается согласованность на момент начала команды, то для RR на начало транзакции/скрипта(батча) или как??

И про Seriazable, как понимаешь обеспечивается такой TIL, на начало "чего" и как обеспечивается блокировка/защита диапазонов??


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 08.09.23 09:32
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
На часть вопросов нашел ответы на старом sql.ru (кстати, ответ от одного из авторов видео, Павел Лузанов)

Цитата:
Для начала нужно определиться с уровнем изоляции этой транзакции.
Для READ COMMITTED, что по умолчанию, снимок создается на момент начала каждого оператора и действует до окончания работы оператора, поэтому и для idle in transaction, и для idle in transaction (aborted) снимок уже "закончился".

Что касается REPEATABLE READ и SERIALIZABLE, для которых снимок создается на момент начала первого оператора транзакции, то здесь постгрес понимает, что для транзакции с idle in transaction (aborted) снимок уже не понадобится, а для idle in transaction снимок нужно держать.

1. Остался вопрос "защиты диапазона" Range Lock при SERIALIZABLE.

Похоже, что PG не умеет блокировать диапазон.

2. Ещё вопрос:
select for update - куда накладывает блокировку и как это вяжется с версионностью??
то есть, что хочу сказать, select for update наложит блокировку обновления на записи исходной таблицы или нет??


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 2 раз(а). Последнее : PaulWist, 08.09.23 10:59
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
Не... я так глубоко еще не закапывался. Сейчас занимаюсь переносом SP c MSSQL на PG.
Впервые увидел процедуру на 1011 строк.. жесть
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Дмитрий Петров
Не... я так глубоко еще не закапывался. Сейчас занимаюсь переносом SP c MSSQL на PG.

Упс, а как ты тогда переносишь?? У этих серверов разная парадигма обращения и обработки данных, худо-бедно похожесть есть для RC Snapshot MSSQL и RC PG.

Дмитрий Петров
Впервые увидел процедуру на 1011 строк.. жесть
Я в своё время (почти 20 лет назад) родил ХП на 5 тыс строк


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
У нас получается по умолчанию- Read Commited
Покажи как оформляешь транзакции в коде?
У нас в PG базе в коде я не нахожу явного объявления транзакций.
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Дмитрий Петров
У нас получается по умолчанию- Read Commited

Как определил, какой командой/сист. переменной, что RC??

Дмитрий Петров
Покажи как оформляешь транзакции в коде?

sqlsetprop('Transaction', 2)

Дмитрий Петров
У нас в PG базе в коде я не нахожу явного объявления транзакций.

В PG парадигма такая, что за начало и окончание транзакции отвечает клиент, то есть в ф-ии, триггере вызвать Rollback нельзя,


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
Цитата:
Как определил, какой командой/сист. переменной, что RC??

SHOW default_transaction_isolation;

SHOW TRANSACTION ISOLATION LEVEL - для текущей сессии



Исправлено 1 раз(а). Последнее : Дмитрий Петров, 11.09.23 12:13
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Уровни изоляции, на примере PG13 (с 7-ой мин), а лучше смотреть всё.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Дима, какая версия PG у тебя??

Для 12 версии, доступно управление транзакциями доступно в процедурах pgSQL (с 5 мин)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 12.09.23 10:03
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
PaulWist
Дима, какая версия PG у тебя??
"PostgreSQL 11.17 (Debian 11.17-astra.se5) on x86_64-pc-linux-gnu, compiled by gcc (AstraLinuxSE 8.3.0-6) 8.3.0, 64-bit"

На 11-ю версию переехали буквально вчера, и да- в ней уже появились процедуры.
Выложенный тобой ролик посмотрел ночью, утром проверил- точно есть процедуры.
В них поддерживаются транзакции.( с некоторыми оговорками на то, откуда идет вызов)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
В качестве клиента/админской части, что используешь??


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Дмитрий Петров

Сообщений: 3023
Откуда: Пермь
Дата регистрации: 09.07.2001
PaulWist
В качестве клиента/админской части, что используешь??
Я из PgAdmin работаю c базой. Клиент - Форсайт аналитическая платформа
Это бывший PrognozPlatform.
Там много чего скрыто под капотом, но руками( программно) с базой тоже можно работать.

А, да- еще DBeaver используем для работы с БД.
Скорей всего меня на 80%( по зянятости) пересадят на КХД arenadata.tech
Разбираюсь между делом с Data Vault концепцией.



Исправлено 1 раз(а). Последнее : Дмитрий Петров, 12.09.23 11:16
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
PaulWist

Сообщений: 14498
Дата регистрации: 01.04.2004
Фу блин, 2 дня под Win ставил/настраивал трахался сам PG, pgAdmin, BDeaver ... MS всё-таки форева.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
Vedmak

Сообщений: 5798
Откуда: CiTY
Дата регистрации: 30.10.2003
PG сервер ставится под винду в лёт... pgAdmin фырчит и не стартует (у меня). DBeaver все решает. Согласен, что некоторые решения у "бобра" не удобны. Но он бесплатен (это важно мне ) и многофункционален.

В одном приложении управление БД на разных серверах это просто праздник!


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 1 раз(а). Последнее : Vedmak, 15.09.23 22:15
Ratings: 0 negative/0 positive
Re: PostgreSQL вопросы тут буду задавать
tata
Автор

Сообщений: 3393
Откуда: Казань
Дата регистрации: 23.10.2005
Дмитрий Петров
Спасибо, Паша.

Переношу говнокод с MSSQL в говнокгод на PG
Коллега.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2023 Fox Club 
Яндекс.Метрика