@pgsql

Страница 241 из 1062
Тигран
14.02.2017
14:04:33
а кто ни будь может придумать зачем primary key делать varchar?
к примеру можно там хранить уникальный идентификатор финансовсой транзакции с разных систем

Dmitrii
14.02.2017
14:04:36
Ну там же мог быть UUIDv4

Sergey
14.02.2017
14:04:55
а в чём проблема текстовых pkey?
в объеме WAL при значительной вставке данных.

Google
Darafei
14.02.2017
14:05:36
что такое "значительная вставка"?

Sergey
14.02.2017
14:06:11
что такое "значительная вставка"?
десятки тысяч инсертов в единицу времени.

Darafei
14.02.2017
14:06:56
и что именно тогда происходит? :)

Sergey
14.02.2017
14:06:57
Ну там же мог быть UUIDv4
у UUID та же беда.

уникальный индекс. При текстовых данных в индекс все это вставляется в случайные странички, т.к. на диск должно все лечь в отсортированном виде, и при включенном FPW это много лишнего WAL. В случае же serial новые записи ложаться всегда в конец индекса, а значит заполняют последнюю страничку в индексе....

Но вопрос был не об этом. Я хочу найти плюсы такого подхода...

Darafei
14.02.2017
14:13:55
временами удобно

Dmitrii
14.02.2017
14:14:18
Например можно генерировать pk в приложении (тот же uuid)

Sergey
14.02.2017
14:15:51
можно... а почему для таких целей не использовать отделное поле и только для тех таблиц для которых нужно. А связи внутри базы строить по примери кей типа сериал?

Тут же поголовно все id текстовые с меткой примари кей.

и по ним строят констрейны и джойнят.

а при хорошей нагрузке и наличии синхронной реплики, все становится грустно.

Victor
14.02.2017
15:26:06
по поводу - есть ли данные - должны быть, тк бэкапы делаются pg_dump для всей базы

Google
Тигран
14.02.2017
15:31:38
текстовые очен удобно для поика по like скажем

Sergey
14.02.2017
15:32:30
ага, особенно если они вида md5sum(rand)....

Тигран
14.02.2017
15:32:54
ээ, ну дружище ты как будто все усложняеш :)

так я пас

Sergey
14.02.2017
15:34:13
вот и я не могу найти разумного ответа на вопрос «зачем»? :(

минусы очевидны, плюсов пока не нашел.

но практика подсказывает мне что, прежде чем браться за переделку лучше сначала понять почему было именно так сделано.

Тигран
14.02.2017
15:37:13
быстрей наверное найти разработчика и просто спросить

а то где нибудь взорвется

Victor
14.02.2017
15:58:47
в общем поймал китайца, который эту базу делал, действительно таблица пустая и запросы перенаправляются на другие, более мелкие таблицы в зависимости от даты

поэтому технически - она пустая

всем спасибо за помощь!

Dmitrii
14.02.2017
16:08:48
А как сделать чтобы pgbouncer требовал пароль у клиентов?

Nikolay
14.02.2017
16:12:37
Всем привет, кто ещё не видел — 21.02 будет очередной митап в Москве https://www.meetup.com/postgresqlrussia/events/229372553/?eventId=229372553

Anatoliy
14.02.2017
16:13:02
Баунсер оперирует коннектами же для реюзинга. Это не его обязанность.

Dmitrii
14.02.2017
16:13:17
Блин а че делать тогда?)

Мне нужен и реюзинг и аутентификация

Anatoliy
14.02.2017
16:14:48
Хотя насколько я вижу, у нас в конфигах по порту баунсера лежат пароли. Но честно говоря не в курсе подробностей относительно баунсера.

Michael
14.02.2017
16:14:56
Мне нужен и реюзинг и аутентификация
В конфиге же всё есть: Например auth_type = md5 auth_file = /etc/pg_auth.conf

Dmitrii
14.02.2017
16:15:35
На столько я понял это для авторизации в сам pg

Google
Dmitrii
14.02.2017
16:15:41
Для его коннекторов

А для клиентов где конфиг?

Nikolay
14.02.2017
16:17:21
Дмитрий, а что в pg_hba? Какие варианты auth выставлены? trust или ident есть?

Michael
14.02.2017
16:17:36
А для клиентов где конфиг?
То есть ты хочешь чтобы клиенты к баунсеру ходили по одному паролю, а в базу под другим?

Nikolay
14.02.2017
16:17:37
кстати забавный рецепт, чтобы не париться с ручным ведением файлика у пгбаунсера https://www.depesz.com/2010/12/04/auto-refreshing-password-file-for-pgbouncer/

По митапу: если кто-то возился с полнотекстовым поиском, наверняка знает, что нюансов там много. Есть время подумать и сформулировать вопросы, чтобы на встрече их хорошенько проработать. В общем, пишите на странице митапа или в ФБ, я перед встречей сформирую список.

Michael
14.02.2017
16:20:23
https://pgbouncer.github.io/config.html#authentication-file-format + auth_user

Dmitrii
14.02.2017
16:20:24
Дмитрий, а что в pg_hba? Какие варианты auth выставлены? trust или ident есть?
У меня есть только userlist.ini где прописана пара user pass для коннекта в pg

Nikolay
14.02.2017
16:21:41
так а в чём проблема? в RDS вряд ли сделали trust, значит без пароля никто не пустит

Dmitrii
14.02.2017
16:22:06
Ну там по паролю у меня, да.

Nikolay
14.02.2017
16:22:20
ну отлично, в userlist его дублируем -- и pgbouncer будет спрашивать у клиента его же

Dmitrii
14.02.2017
16:22:35
а auth_type на что поменять?

plain?

Nikolay
14.02.2017
16:22:54
ну md5 вполне себе стандарный вариант. но можно и plain

по вкусу

Dmitrii
14.02.2017
16:23:45
Щас попробую, спасибо

Все разобрался. Сначала меня смутило, что файл этот отвечает только за аутентификацию в исходный pg

Спасибо

Google
Ryzhikov
14.02.2017
21:06:17
@SergeySokolov в нашей медицинской платформе id text - пользователь сам выбирает схему идентификации - и это иногда полезно, например если есть уникальный внешний идентификатор. По умолчанию туда генерится uuid::text

Robert
14.02.2017
23:43:05
@niquola, а какой тип ЛПУ автоматизировать?

Автоматищируете

Тигран
15.02.2017
06:55:44
Привет всем, кто нибудь использовал pgagent ? я запускаю демон но в pgadmin 3 нет job-ов, хотя в display включен показ job-ов

Vadim
15.02.2017
06:59:27
Страшная поделка этот pgagent. Попробуйте лучше https://github.com/citusdata/pg_cron/

Петр
15.02.2017
07:03:35
схема пгагента то есть?

Тигран
15.02.2017
07:08:16
схема пгагента то есть?
да, sql файл прогонял

Страшная поделка этот pgagent. Попробуйте лучше https://github.com/citusdata/pg_cron/
спасибо, а он умеет скажем раз в секунду заускать задание?

Петр
15.02.2017
07:09:43
после того, как поставили крыжик "Показывать задания pgAgent" пгадмин перезапустили?

Тигран
15.02.2017
07:09:57
да

Петр
15.02.2017
07:10:21
спасибо, а он умеет скажем раз в секунду заускать задание?
я бы добавил еще: он умеет создавать несколько взаимосвязанных шагов для задания?

Тигран
15.02.2017
07:11:59
я бы добавил еще: он умеет создавать несколько взаимосвязанных шагов для задания?
ну у меня задача просто запускать периодично несколько невзаимосвязанных хранимок, поэтому не критично для меня

Vadim
15.02.2017
07:12:23
pg_cron is a simple cron-based job scheduler for PostgreSQL (9.5 or higher) that runs inside the database as an extension. It uses the same syntax as regular cron. Секунды не умеет.

Vadim
15.02.2017
07:14:39
я бы добавил еще: он умеет создавать несколько взаимосвязанных шагов для задания?
SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$); В последний параметр можно передавать несколько команд. Строить какие то зависимости джобов нельзя насколько я понимаю

Konstantin
15.02.2017
07:15:05
Посгрес про на мой взгляд лучше не читать, они там свои фичи тоже встраивают в доку.
Но у них есть режим в котором слева перевод, справа оригинал

lemi
15.02.2017
07:16:03
если есть оригинал тозачем копия ?

Anatoliy
15.02.2017
07:16:09
Фига вы откапали)

Петр
15.02.2017
07:16:12
SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$); В последний параметр можно передавать несколько команд. Строить какие то зависимости джобов нельзя насколько я понимаю
а можно сделать так, чтобы при ошибке выполнения задание игнорировал этот шаг и продолжил выполнять следующие шаги. И наоборот, при ошибке на одном из шагов прервать выполнение задания?

Google
Alexey
15.02.2017
07:16:22
Петр
15.02.2017
07:21:17
Страшная поделка этот pg_cron

Vadim
15.02.2017
07:24:42
Страшная поделка этот pg_cron
Все вопросы были ради этой фразы?

Петр
15.02.2017
07:25:22
Страшная поделка этот pgagent. Попробуйте лучше https://github.com/citusdata/pg_cron/
Да, для того, чтобы вы не были столь критичны

Kirill
15.02.2017
07:27:42
а можно сделать так, чтобы при ошибке выполнения задание игнорировал этот шаг и продолжил выполнять следующие шаги. И наоборот, при ошибке на одном из шагов прервать выполнение задания?
begin/exception, а вообще ее можно использовать как запуск своего кастомного шедулера, у нас для этого просто был свой простенький bg_worker который дергал раз в секунду что-то подобное https://gist.github.com/kshvakov/fdae205657ce3ea77cee4057e1e83cbb

Vadim
15.02.2017
07:28:59
Да, для того, чтобы вы не были столь критичны
У каждого из нас разный опыт и масштабы проектов) Кому-то и PgAgent нужен. Спасибо, учту на будущее

Kirill
15.02.2017
07:37:15
etcd давно не использовал, сейчас в продакшен zookeeper и consul, с zookeeper все ок, а consul не критично и после потери данных или просто ведения нового он просто перезаливается данными от наших агентов, может тоже что-то и теряет, но мы не замечаем

Тигран
15.02.2017
07:55:40
@PeterEgorov в итоге настроил, теперь видны job-ы, но пока не найду как посекундно задавать schedule , там минимум минута, можеш подсказать?

Петр
15.02.2017
08:08:42
в шедуллере можно только минимально минуту указать не представляю, для чего вам интервал в секунду, разве что стоит pg_sleep() пользовать

Oleg
15.02.2017
10:15:26
Коллеги, выскажите пожалуйста мысль по поводу Tarantool , сможет ли составить конкуренцию PostgreSQL ? Не холивара ради задаю вопрос , просто интересно стало

Alex
15.02.2017
10:16:06
конкуренцию в чем ?

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