@pgsql

Страница 898 из 1062
Vladimir
23.07.2018
04:41:08
Даж не думал, что такие длинные имена можно. Хитро Varchar(20) на них не хватает

Roman
23.07.2018
05:25:42
Надо написать бота, который по +VX,QQ в начале никнейма - будет автоматом бан выписывать.

Davra
23.07.2018
05:29:06
я думаю лучше просто по длине имени банить)

Ilya
23.07.2018
05:29:11
Вроде как @combot умеет банить спам

Google
Subb98
23.07.2018
05:36:02
Надо написать бота, который по +VX,QQ в начале никнейма - будет автоматом бан выписывать.
ненадёжно. надо проверять по нескольким параметрам. и, вообще, есть ли у телеграма ивент на сообщение "ebobo присоединился к группе"?

Andre
23.07.2018
05:41:21
я думаю лучше просто по длине имени банить)
или по адресу почты в описании

Maksim
23.07.2018
05:41:27
Как жизнь братан

Denis
23.07.2018
05:41:45
Лочить этого пидара надо

Subb98
23.07.2018
05:42:14
Лочить этого пидара надо
надо петицию Дурову и телеграм тиме написать, чтобы добавили а апи хук на join message.

они не могут не знать о проблеме

ну или пусть просто пофиксят самостоятельно, чтобы сообщество не плодило доморощенные костыли

Subb98
23.07.2018
05:51:00
можно линк?

а то я искал, но пока не нашёл

Andrey ?
23.07.2018
05:51:29
Объект Message

new_chat_members

Subb98
23.07.2018
05:55:25
спс, посмотрю вечером, можно ли изменить или заблокировать это сообщение

Google
Andrey ?
23.07.2018
05:55:55
Там на 10 строчек бот, который будет их удалять и банить

Subb98
23.07.2018
05:57:14
ну тогда надо его написать. не писал ни одного ещё, вот, будет первый, значит ) а то эти упыри уже достали.

Рома
23.07.2018
07:26:57
Привет! Подскажите как лучше восстанавливать базу к исходной точке. Есть браузерные тесты в тестовой среде с тестовой базой, хочется в самом начале создавать некую точку восстановления и в самом конце к ней сбрасываться. Сейчас читаю про point in time recovery, не уверен, что оно

Evgeniy
23.07.2018
07:41:01
не, создай образцовую базу. создай базу под тест create database new template old

и восстанавливайся с темплейта потом

нафиг краш рекавери

Kirill
23.07.2018
08:31:36
в контектсе параллельных запросов к одной строке, где до транзакции идёт селект, блокировкой FOR UPDATE я смогу изолировать строку даже от SELECT в стороннем запросе пока не закмичу обновление этой строки?

Ilia
23.07.2018
08:32:59
Если "до транзакции", то забудь, это к данной никак не относится.

Kirill
23.07.2018
08:33:58
т.е. селект тоже надо в транзакцию оборачивать?

Kirill
23.07.2018
08:38:38
Что ты понимаешь тут под "изолировать"?
если смотреть на всё без параллельных запросов, то взять строчу, помеченную статусом new, поставить ей замок, что её нельзя трогать, пока не обновится статус, внутри транзакции произвести пару апдейтов этой строки и обновить статус

а теперь накладываем конкуретность, и получаю странной поведение, что могут несколько пользователей получить одну и ту же строку, со статусом new

причины пока все в догадках

Ilia
23.07.2018
08:39:35
Читай с FOR UPDATE...

Oleg
23.07.2018
08:40:33
походу люди приходят с блокировочников, блокировки это не только падение производительности в результате ожидания но и фича. https://postgrespro.ru/docs/postgresql/9.6/explicit-locking.html

Sergey
23.07.2018
08:40:48
Возможно, ещё select ... for update skip locked поможет

Google
Kirill
23.07.2018
08:41:16
именно это и открыто у меня) только на лайве 9.5

я правильно понимаю, что такую ситуацию на 100% не избежать? Если происходит практически в один момент select и ни один из зарпосов не успевает начать транзакцию, то оба запроса получат одинаковый результат?

т.е. из приложении сначала обращаемся в базу с селект, а потом обращаемся в рамках транзакции

Sergey
23.07.2018
08:48:55
skip locked в 9.5, afaik

Kirill
23.07.2018
08:49:52
От оборачивания SELECT в транзакцию ничего не изменится, он и так транзакция
если селект - транзакция сама по себе, когда она комитится?

Yaroslav
23.07.2018
08:54:25
если смотреть на всё без параллельных запросов, то взять строчу, помеченную статусом new, поставить ей замок, что её нельзя трогать, пока не обновится статус, внутри транзакции произвести пару апдейтов этой строки и обновить статус
А зачем вам это нужно (может быть, вы просто пытаетесь использовать методы работы с "блокировочником" в "версионнике")? Или это у вас очередь или что-то подобное?

если селект - транзакция сама по себе, когда она комитится?
Всё транзакция само по себе. Если не было явного BEGIN, коммитится по завершении statement.

Yaroslav
23.07.2018
09:04:55
не очередь, блокировочник
А какая задача-то? Зачем вы вообще явно управляете блокировками?

Kirill
23.07.2018
09:19:04
FOR UPDATE ещё и с UNION нельзя

Ilia
23.07.2018
09:19:49
С UNION ALL наверняка можно.

FOR UPDATE ещё и с UNION нельзя
Там вообще много чего нельзя. Агрегаты нельзя. Ну... в общем, правила должны быть как для UPDATABLE VIEW.

Igor
23.07.2018
09:23:51
Привет всем! Если у меня такая ошибка ALTER TABLE testsch.weather3 ADD COLUMN description2 text; ERROR: must be owner of relation weather3 Как мне получить права на изменение таблицы в схеме, не становясь владельцем этой схемы? Так вообще можно?

Ilia
23.07.2018
09:24:54
Это тебе к админу...

Привет всем! Если у меня такая ошибка ALTER TABLE testsch.weather3 ADD COLUMN description2 text; ERROR: must be owner of relation weather3 Как мне получить права на изменение таблицы в схеме, не становясь владельцем этой схемы? Так вообще можно?
Надо выдать гранты соотв. этому пользователю. Но чаще всего это не имеет смысла, просто надо под овнером схемы всё поменять, и далее работать DML уже под пользователем. Пользователю выдавать права на модификацию схемы (DDL) нет смысла, он это делать в своей обычной работе не должен

Kirill
23.07.2018
09:31:04
С UNION ALL наверняка можно.
к сожалению - нет SQLSTATE[0A000]: Feature not supported: 7 ERROR: FOR UPDATE is not allowed with UNION/INTERSECT/EXCEP

Igor
23.07.2018
09:35:21
Надо выдать гранты соотв. этому пользователю. Но чаще всего это не имеет смысла, просто надо под овнером схемы всё поменять, и далее работать DML уже под пользователем. Пользователю выдавать права на модификацию схемы (DDL) нет смысла, он это делать в своей обычной работе не должен
Спасибо. Сейчас так и есть. Просто вот есть задача. чтобы был пользователь только с возможнсотью редактирования (без возможости созданих новых схем) какой-либо схемы. Правильно я понимаю, что DDL права пользователю выдать нельзя? (понятно что нет смысла, хотелось бы узнать про саму возможность)

Google
Yaroslav
23.07.2018
09:40:05
к сожалению - нет SQLSTATE[0A000]: Feature not supported: 7 ERROR: FOR UPDATE is not allowed with UNION/INTERSECT/EXCEP
Так зачем вы всё это делаете, если не секрет? Или просто разобраться хотите?

Admin
ERROR: S client not available

Igor
23.07.2018
09:58:39
ALTER TABLE -- это не изменение объектов, это изменение схемы .
Ссори, значит изменение схемы все таки

ко?TEXHIK
23.07.2018
10:03:51
Опять демоны лезут!

Igor
23.07.2018
10:11:55
Короче понятно, тут без вариантов: "Выполнить ALTER TABLE может только владелец соответствующей таблицы. Чтобы сменить схему или табличное пространство таблицы, необходимо также иметь право CREATE в новой схеме или табличном пространстве." https://postgrespro.ru/docs/postgrespro/10/sql-altertable

Dez
23.07.2018
10:12:46
Привет всем, незнаю уместен ли тут вопрос.Есть, кто может подсказать, хорошую книгу по postgresql желательно 10тый.И важный момент книгу приобрести хочу именно в бумажном варианте, так как почти на месяц ухожу в поход, где собственно с электричеством проблеммы) Заранее спасибо.

Kirill
23.07.2018
10:14:30
Читатели не блокируют друг друга, но как только появился писатель все будут ждать

Dez
23.07.2018
10:14:43
м... запросики в тетрадке писать
на скале, сразу, что бы через несколько тысяч лет археологи гадали, что это за фигня:D

Ilia
23.07.2018
10:14:57
Времени не будет читать, и тащить будешь зря.

Google
Dez
23.07.2018
10:15:50
да не, время почитать всегда нахожу в походе, на привалах и тд час -два в день будет

Dez
23.07.2018
10:17:47
На привалах работать надо а не читать
ну это, если ты прям дикарём)А есль с фирмой, то работать не надо.Максимум палатку поставить)

Ilia
23.07.2018
10:18:15
да не, время почитать всегда нахожу в походе, на привалах и тд час -два в день будет
Я серьёзно тебе говорю, книга -- это кило-полтора минимум. Читать в походе некогда, работать надо. Так что книга должна в походе жить до первого костра или (в водном) до первого порога. Либо в электронном виде

ну это, если ты прям дикарём)А есль с фирмой, то работать не надо.Максимум палатку поставить)
Я бы сайт выкачал в электронке, и читал, если уж совсем неймётся...

Kirill
23.07.2018
10:19:40
На read commited это можно сделать, если все читающие запросы будут с SELECT ...FOR SHARE. А апдейты с FOR UPDATE.
Read Committed по умолчанию, по поволу локов не понял какие кому присваивать ,как это for update на update

Yaroslav
23.07.2018
10:22:26
По умолчанию кажется repeatable read
Всё-таки RC. Но можно поменять на любой с помощью default_transaction_isolation.

Dez
23.07.2018
10:24:42
Я бы сайт выкачал в электронке, и читал, если уж совсем неймётся...
электронки на долго не хватит, но да ладно.Спс за советы)

Ilia
23.07.2018
10:25:50
Возми power bank

Dez
23.07.2018
10:28:45
ну в целом варик, можно попробовать.)

Страница 898 из 1062