Size: a a a

DBA - русскоговорящее сообщество

2021 February 02

SB

Stanislav Bobokalo in DBA - русскоговорящее сообщество
подобный скрипт пишется очень быстро под любую бд
источник

H

Hesu in DBA - русскоговорящее сообщество
Stanislav Bobokalo
подобный скрипт пишется очень быстро под любую бд
Инфу можно ?
источник
2021 February 03

SZ

Sergey Zhmylove in DBA - русскоговорящее сообщество
[REDIS] Ребята, я сдаюсь. В официальной документации: https://redis.io/commands/incr написана «хранимая функция». Почему они так написали и что они имели ввиду?
Я про FUNCTION blabla(arg)
источник

E

Etki in DBA - русскоговорящее сообщество
Я не вижу где там написано «хранимая функция», stored только по key.
источник

SZ

Sergey Zhmylove in DBA - русскоговорящее сообщество
Etki
Я не вижу где там написано «хранимая функция», stored только по key.
Там написано function xxx(yyy) и редис такого отродясь не умел. Я не понимаю, почему в качестве «абстрактного кода клиентского приложения» авторы выбрали sql
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
Sergey Zhmylove
[REDIS] Ребята, я сдаюсь. В официальной документации: https://redis.io/commands/incr написана «хранимая функция». Почему они так написали и что они имели ввиду?
Я про FUNCTION blabla(arg)
IMHO, это псевдокод, а не конкретная реализация...
источник

SZ

Sergey Zhmylove in DBA - русскоговорящее сообщество
Павел Любин
IMHO, это псевдокод, а не конкретная реализация...
Ну это как раз очевидно :)
Мой вопрос в том, почему этот псевдокод написан не, скажем, на питоне, а на sql
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
Sergey Zhmylove
Ну это как раз очевидно :)
Мой вопрос в том, почему этот псевдокод написан не, скажем, на питоне, а на sql
А какой именно это СКУЛ? На какой БД можно компильнуть?
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
Если бы всё не было написано в верхнем регистра, то я бы вообще сказал: "а причем здесь джаваскрипт?!" ;)
источник

SZ

Sergey Zhmylove in DBA - русскоговорящее сообщество
Павел Любин
Если бы всё не было написано в верхнем регистра, то я бы вообще сказал: "а причем здесь джаваскрипт?!" ;)
Ладно, убедил :)
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
:)  просто я не помню, в какой БД можно не указывать типы входных аргументов и переменных, а вот в JS это норм вообще 😁
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
Sergey Zhmylove
Ладно, убедил :)
👍
источник

E

Etki in DBA - русскоговорящее сообщество
Sergey Zhmylove
Ну это как раз очевидно :)
Мой вопрос в том, почему этот псевдокод написан не, скажем, на питоне, а на sql
А есть разница?
источник

E

Etki in DBA - русскоговорящее сообщество
Павел Любин
Если бы всё не было написано в верхнем регистра, то я бы вообще сказал: "а причем здесь джаваскрипт?!" ;)
Паскаль или дельфи, у чего там везде BEGIN ... END )
источник

ПЛ

Павел Любин... in DBA - русскоговорящее сообщество
тоже вариант) но типы указывать там надо...
источник

A

Adv0cat in DBA - русскоговорящее сообщество
яваскаль или паскрипт
источник

E

Etki in DBA - русскоговорящее сообщество
lol
источник

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
Привет! Постгрес 11, вчера на одной из таблиц запустился AUTOVACUUM (to prevent wraparound). При этом таблица была недоступна.

Из доки, вроде как, понял, что таблица блокируется для DML только при VACUUM FULL.
Т.е., по-идее она должна была быть доступна для DML.

Но если кто-то пульнул бы DDL, то этот DDL встал бы в ожидание завершения AUTOVACUUM, заодно ставя все DML после себя в очередь.

Я всё правильно понимаю? А то протестить сложновато - надо как-то спровоцировать этот prevent wraparound VACUUM
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
Какой-то Хмырь
Привет! Постгрес 11, вчера на одной из таблиц запустился AUTOVACUUM (to prevent wraparound). При этом таблица была недоступна.

Из доки, вроде как, понял, что таблица блокируется для DML только при VACUUM FULL.
Т.е., по-идее она должна была быть доступна для DML.

Но если кто-то пульнул бы DDL, то этот DDL встал бы в ожидание завершения AUTOVACUUM, заодно ставя все DML после себя в очередь.

Я всё правильно понимаю? А то протестить сложновато - надо как-то спровоцировать этот prevent wraparound VACUUM
> При этом таблица была недоступна.

А не должна была (для DML). Т.е. что-то точно не так.

> Т.е., по-идее она должна была быть доступна для DML.

Да.

> Но если кто-то пульнул бы DDL, то этот DDL встал бы в ожидание завершения AUTOVACUUM

Да. Но всё это очень легко увидеть (и решить) с помощью pg_locks / pg_stat_activity.

> Я всё правильно понимаю?

Да.

> надо как-то спровоцировать этот prevent wraparound VACUUM

Это стоит делать только на тестовом кластере, на всякий случай. Путём быстрого "накручивания" xid (я уверен, что даже видел для этого готовые запросы / функции — поищите, если нужно).
источник

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
Yaroslav Schekin
> При этом таблица была недоступна.

А не должна была (для DML). Т.е. что-то точно не так.

> Т.е., по-идее она должна была быть доступна для DML.

Да.

> Но если кто-то пульнул бы DDL, то этот DDL встал бы в ожидание завершения AUTOVACUUM

Да. Но всё это очень легко увидеть (и решить) с помощью pg_locks / pg_stat_activity.

> Я всё правильно понимаю?

Да.

> надо как-то спровоцировать этот prevent wraparound VACUUM

Это стоит делать только на тестовом кластере, на всякий случай. Путём быстрого "накручивания" xid (я уверен, что даже видел для этого готовые запросы / функции — поищите, если нужно).
спасибо!
источник