@pgsql

Страница 162 из 1062
Данил
18.11.2016
10:14:29
это ясно, вот и хочу подготовиться=)

Darafei
18.11.2016
10:15:22
прочти оглавление и пойми, что про любую из его строк ты можешь сказать два предложения

хотя, на джуна - одно

Данил
18.11.2016
10:16:30
да по джуну могу много сказать, по разрабу пару скажу по некоторым пунктам

Google
[Anonymous]
18.11.2016
10:17:39
нескромный вопрос - avito?

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

Данил
18.11.2016
10:18:36
может может

Zubarev
18.11.2016
10:20:39
Подскажите плиз, куда в Москве пойти что бы получить реальные и практически применимые знания по DBA ?

[Anonymous]
18.11.2016
10:21:37
изоляции транзакций всякие спрашивали

и практическое их применение

https://www.youtube.com/watch?v=QU2PVSnBGEY&list=PLaFqU3KCWw6JgufXBiW4dEB2-tDpmOXPH&index=2

Данил
18.11.2016
10:23:40
это все уже вдоль и поперек

https://www.youtube.com/watch?v=QU2PVSnBGEY&list=PLaFqU3KCWw6JgufXBiW4dEB2-tDpmOXPH&index=2

как и дока на пг про

[Anonymous]
18.11.2016
10:25:55
?

Подскажите плиз, куда в Москве пойти что бы получить реальные и практически применимые знания по DBA ?

в ютюб https://www.youtube.com/channel/UCawnwMqZ6JeoSiEhrS6X69A

Google
Данил
18.11.2016
11:53:04
да, их лекции из твери достаточно информативные, но местами ооочень скучные, если смотреть их просто для познания, а не с конкретным вопросом

[Anonymous]
18.11.2016
11:57:16
кто сказал, что грызть гранит науки - это весело?) извините за флуд

Andrey
18.11.2016
11:57:29
Данил А с конкретным вопросом можно обратиться к препадавателям в комментах к видео в той или иной теме, которая ближе к сути вопроса. Отвечают.

Данил
18.11.2016
11:59:48
возьму на заметку, спасибо=)

Петр
18.11.2016
12:00:39
Добрый день кто-нибудь знает, что за объект может быть с relid 0 ?

Gonchik
18.11.2016
12:34:43
Добрый день

Подскажите пожалуйста как можно при установке postgres на RHEL, как заранее PG_DATA указать в нужную директорию? Хочется чтобы до инициализации кластера initdb, было указано. Поскольку после инициализации в systemd переписывать место, потом rsync не очень удобно. Хочется еще на шаге initdb определить

initdb -D {PG_DATA} - не взлетело

что я делаю не так?

Dmitry
18.11.2016
12:44:12
Я делаю так: initdb -D ${PGDATA} -E ${PG_ENCODING} —locale=${PG_LC} —lc-collate=${PG_LC} —lc-ctype=${PG_LC}

шел по умолчанию баш?

Gonchik
18.11.2016
12:45:02
да

Dmitry
18.11.2016
12:45:22
Ну тогда должно работать.

dmitriy
18.11.2016
12:46:50
initdb -D {PG_DATA} - не взлетело
$ не забыли перед {PG_DATA} ?

Gonchik
18.11.2016
12:48:05
забыл=(

черт???

Спасибо большое!

raksita
18.11.2016
12:59:59
добрый вечер. если кто юзает pglogical в проде, подскажите как замерять отставание репликации на 9.5

dmitriy
18.11.2016
13:00:32
в секундах?

raksita
18.11.2016
13:00:46
да, по времени

Google
raksita
18.11.2016
13:01:10
аналогов измерения для стриминговой репликации не нашёл

dmitriy
18.11.2016
13:02:32
никак, есть вариант закостылить так: апдейтить таблицу с колонкой timestamp, проставляя туда current_timestamp, реплицировать ее логически через pglogical и там селектить current_timestamp - ts

для стриминговой есть такой костыль https://github.com/dev1ant/repl_mon

Evgeniy
18.11.2016
13:03:14
https://github.com/2ndQuadrant/pglogical/tree/master/pglogical_output Use pg_logical_slot_peek_changes to examine the change stream without destructively consuming changes. This is extremely helpful when trying to determine why an error occurs in a downstream, since you can examine a transaction in json (rather than binary) format. It's necessary to supply a minimal set of required parameters to the output plugin. там пример с выводом commit timestamp

или это на мастере только видно?

dmitriy
18.11.2016
13:03:56
last commit timestamp работает только если у вас постоянно идут транзакции в wal

короче в 9.6 вроде добавили вьюху про walreceiver и там можно скомбинировать из last commit timestamp и этой вьюхи нормальный лаг

raksita
18.11.2016
13:06:42
я с мастера и хочу измерять

для стриминговой используется запрос SELECT CASE WHEN pg_last_xlog_receive_location() = pg_last_xlog_replay_location() THEN 0 ELSE EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp()) END AS log_delay;

dmitriy
18.11.2016
13:10:57
ну а как быть, если у вас транзакций на мастере пишущих нет, а вакуум, например, идет по таблицам и в вал отгружает записи?

raksita
18.11.2016
13:12:36
показывает отставание, реплика тоже активно в такие моменты работает

dmitriy
18.11.2016
13:13:21
лаг по формуле будет расти, но на самом деле реплика не отстает

raksita
18.11.2016
13:20:59
согласен и в курсе про это, сошлись на том, что это необходимое зло

dmitriy
18.11.2016
13:21:36
кажется, что нормальный гарантированный способ замера только в 9.6 появился

raksita
18.11.2016
13:22:09
можно ссыль на документацию?

dmitriy
18.11.2016
13:25:01
https://www.postgresql.org/docs/9.6/static/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW там есть поля last_msg_send_time, last_msg_receipt_time, в комбинации с ними можно кажется нагородить что-то работающее

но кажется, что это просто вывели sql-интерфейс к WalRcvData. При желании можно замочить sql-интерфейс к ней в виде функций, обернуть это в extension для версий <9.6

на коленке можно накидать попробовать

raksita
18.11.2016
13:31:31
я думаю, мы на 9.6 быстрее перейдём?

dmitriy
18.11.2016
13:32:52
ну да, похоже на то :)

Google
Nikita
19.11.2016
09:03:03
ничосе

Admin
ERROR: S client not available

Alexander
19.11.2016
13:46:53
это девопсы набежали? ? интересен вопрос про проектирование СУБД, допустим, есть некий SaaS, пользователь регистрируется, оплачивает, пользуется какими-либо услугами через сайт, при этом услуги могут оказываться как ему лично, так и какой-то группе людей, в которую он входит или которую возглавляет, у нас есть сущности User [тот, кто регистрируется и входит в панель управления], есть Account [тот, кому оказываются услуги, и кто за них платит, это может быть и организация и пользователь], и ещё есть Organization [объединяет группу людей, есть создатель, который может удалить организацию и все остальные], как бы вы представили эти 3 сущности в виде таблиц в СУБД? вариантов тут несколько, интересно, кто как бы сделал?)

Dmitrii
19.11.2016
13:52:15
Как этот вопрос относится к PostgreSQL?

Paul
19.11.2016
13:52:24
ага. Это я рассказал о чате, где народ общается по делу. подозреваю, что первичные ключи. От организации. Подробно - Дейт

Alexander
19.11.2016
14:05:11
Как этот вопрос относится к PostgreSQL?
а как твой вопрос относится к моему вопросу? ? мой вопрос относится к СУБД, PostgreSQL является СУБД..

Pavel
19.11.2016
14:07:47
А разве системный каталог нельзя опросить?

Alexander
19.11.2016
14:16:39
ага. Это я рассказал о чате, где народ общается по делу. подозреваю, что первичные ключи. От организации. Подробно - Дейт
есть такие варианты: 1. всё в 1 таблице и флажок "пользователь/организация" 2. все 3 таблицы по-отдельности (нормальная форма) 3. аккаунты и организации в 1 таблице, пользователи в другой (то есть каждый пользователь не в организации будет создать организацию "Home", куда и цеплять свои проекты) 4. аккаунты и пользователи в 1 таблице, организации в другой (хмм, то есть организация будет слабой сущностью, у каждой организации будет привязанный к ней пользователь/аккаунт) 5. пользователи и организации в 1 табличке (с флажком статуса "пользователь/организация") и аккаунты в отдельной таблице. Такой вариант смысла не имеет, так как не имеет преимущетв перед первым вариантом.

Pavel
19.11.2016
14:16:55
Между пользователем и аккаунтом очевидно many2many

Alexander
19.11.2016
14:17:26
В твоем вопросе непонятно причем тут organization вообще. Какая то сбоку штуковина
ну, вот гитхаб для примера - там услуги могут оказываться и пользователям и организациям

или Dockerhub

Pavel
19.11.2016
14:18:36
конечно же пользователь и организация это разные сущности и должны храниться в разных таблицах

Alexander
19.11.2016
14:19:45
на таких сервисах обычно есть кнопка конвертации аккаунта пользователя в аккаунт организации, это может намекать на то, что хранятся они одинаково

(после конвертации зайти уже не получится)

Pavel
19.11.2016
14:20:28
Нет. Это намекает лишь на то что они реализовали возможность конвертации :)

Mike Chuguniy
19.11.2016
14:22:18
это девопсы набежали? ? интересен вопрос про проектирование СУБД, допустим, есть некий SaaS, пользователь регистрируется, оплачивает, пользуется какими-либо услугами через сайт, при этом услуги могут оказываться как ему лично, так и какой-то группе людей, в которую он входит или которую возглавляет, у нас есть сущности User [тот, кто регистрируется и входит в панель управления], есть Account [тот, кому оказываются услуги, и кто за них платит, это может быть и организация и пользователь], и ещё есть Organization [объединяет группу людей, есть создатель, который может удалить организацию и все остальные], как бы вы представили эти 3 сущности в виде таблиц в СУБД? вариантов тут несколько, интересно, кто как бы сделал?)
А для меня лично тут исходных данных не хватает. Аккаунты и организации - чем они различаются? Пользователь - более-менее понятно, как он соотносится с аккаунтами и организациями?

Alexander
19.11.2016
14:25:54
А для меня лично тут исходных данных не хватает. Аккаунты и организации - чем они различаются? Пользователь - более-менее понятно, как он соотносится с аккаунтами и организациями?
аккаунтом я называю заказчика услуги и того, кто за эту услугу платит. этим заказчиком может быть как пользователь, так и организация, аккаунт как сущность нужна лишь чтобы упростить подключение/программирование CRM и привязку услуг

терминами Debian'а , Account - это некий виртуальный пакет

Mike Chuguniy
19.11.2016
14:29:27
Заказчик услуги - партнер, одна табличка, физическое лиТСо, ака пользователь - другая табличка. СЦылка из партнеров на физиков. И признак партнера - физик или юрик. У меня по очень долгому размышлению никак более другие картины в голове не возникают.

Google
Alexander
19.11.2016
14:54:11
а сейчас я не понял) ок, возможно, я неясно объяснил)

User это человек, у него есть логин и пароль к сайту, он может создавать организации и покупать услуги, а так же платить за них со своего аккаунта или с аккаунта своих организаций (за услуги, заказыванные на имя этих организаций) Organization - это организации, там, где работают User'ы или просто какие-то команды людей, друзья по интересам, делающие 1 проект вместе, создатель организации имеет право привязывать способы оплаты, заказывать услуги и платить за них, все остальные члены организации имеют право пользоваться этими услугами Account - это счёт User'а или Organization'ии, с которого списываются деньги за услуги и на который кладутся деньги со всяких там Bitconin'ов и Сбербанков)

Pavel
19.11.2016
14:59:40
Короче врядли тебе тут дадут хороший ответ, ты пытаешься задачу проектирования переложить на нас. Это сильно зависит от требований заказчика и предметоной области. Просто сказать "ну это типа saas как гитхаб" - недостаточно.

Alexander
19.11.2016
15:00:48
как таковой задачи проектирования нет, есть непонимание того, существуют ли обоснованные причины не использовать нормальную форму для решения таких задач

например, есть ли оправдание ситуации, когда аккаунты не делают вообще, а делают просто юзеров и организации и каждый юзер (даже домашний пользователь) будет владельцем организации "Home"

к которой будут привязаны уже услуги и оплата

Mike Chuguniy
19.11.2016
15:02:15
Мне бы очень хотелось посмотреть на "аргументы" не использовать нормальную форму.

Alexander
19.11.2016
15:06:16
собственно, мне и интересно узнать, в таких вот случаях она применяется?

Evgeniy
19.11.2016
15:06:53
когда ты понимаешь риски апдейт аномалий ради производительности

Pavel
19.11.2016
15:07:17
Вкратце и грубо, если у тебя десятки миллионов пользователей и миллионы организаций и аккаунтов, а масштабироваться вертикально особо нету возможности

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