@pgsql

Страница 1039 из 1062
Sab0
17.10.2018
13:39:18
но опять же, я могу ошибаться, ща узнаю

Mike Chuguniy
17.10.2018
13:39:19
Наивный вьюнош...

Sab0
17.10.2018
13:39:45
хотя кучу говн надо будет руками делать типа отношений и триггеров

Mike Chuguniy
17.10.2018
13:45:59
не, на пайтоне код тупо сам делает запросы
Это называется - ОРМ. для ПГ надо будет брать более другой, со всеми вытекающими. БОЛЬ и СТРАДАНИЯ гарантированы. Просто по определению.

Google
Sab0
17.10.2018
13:46:13
блять(

ко?TEXHIK
17.10.2018
13:49:23
Это называется - ОРМ. для ПГ надо будет брать более другой, со всеми вытекающими. БОЛЬ и СТРАДАНИЯ гарантированы. Просто по определению.
если не используются пг-онли фичи и нормальная либа, высок шанс ограничиться заменой драйвера

Alex
17.10.2018
13:49:57
мне кажется там по типам как минимум расхождение будет

ко?TEXHIK
17.10.2018
13:49:57
ой. всмысле мускуль-онли или чё там у него

Alex
17.10.2018
13:51:02
и как показывает практика иногда бывают ошибки в орм

Sab0
17.10.2018
13:53:09
коллейшн

а есть библия?

для postgres

лучше от o reily

Mike Chuguniy
17.10.2018
13:55:21
а есть библия?
Курсы от постгреспро, если лень читать учбеник из официальной документации. Но, судя по вашим вопросам, вам таки лучше начать именно с учебника.

Sab0
17.10.2018
13:57:33
ок, спасибо! я оч быстро учусь, так что начну с курса)

Mike Chuguniy
17.10.2018
13:58:30
Да. После этой части - следующую.

Google
Sab0
17.10.2018
13:58:51
сойдет

Alexander N.
17.10.2018
14:16:55
Подскажите чем и как быстрее всего разворачивать 20гб дамп? Сходу только pg_restore с -j core_count нашел

Уменьшить дамп нельзя, создать из темплейта тоже

Alex
17.10.2018
14:19:25
если бекап делать через pg_basebackup то разворачиваться будет быстрее.

Alexander N.
17.10.2018
14:21:16
если бекап делать через pg_basebackup то разворачиваться будет быстрее.
Ок, спасибо, других вариантов по ускорению я так понимаю нет?

Alex
17.10.2018
14:21:54
смотря зачем вам это надо

Alexander N.
17.10.2018
14:23:55
Итоговая задача разворачивать тестовые поды с базой в кубере

Yaroslav
17.10.2018
14:24:57
Ок, спасибо, других вариантов по ускорению я так понимаю нет?
А Вам зачем? Если для backup, то Вы выбрали неправильный инструмент. А если для чего-то другого, можете посмотреть https://www.postgresql.org/docs/current/static/populate.html

Alexander N.
17.10.2018
14:26:37
А Вам зачем? Если для backup, то Вы выбрали неправильный инструмент. А если для чего-то другого, можете посмотреть https://www.postgresql.org/docs/current/static/populate.html
Для EaaS, по ночам делается дамп прода, обфусцируется и на базе это дампа нужно днём поднимать тестовые среды для разработки

*этого

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

Yaroslav
17.10.2018
14:30:50
Среды живут в кубере, но под с базой неприлично долго поднимается
А во сколько GB разворачивается? И за какое время этот дамп снимается и разворачивается? И в каком формате?

Alexander N.
17.10.2018
14:32:40
Сколько снимается точно не скажу, вся процедура около часа занимает

Alex
17.10.2018
14:33:04
винты пошустрее поставить

Alexander N.
17.10.2018
14:33:19
Сам дамп в архиве около 6гб, разворачивается в 20 где-то

Там средствами кубера можно раздел подготавливать заранее и потом его подключать просто к поду

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

Алексей
17.10.2018
14:36:36
Может, проще обфусцировать средствами SQL предварительно просто скопировав базу?

Alexander N.
17.10.2018
14:37:46
Насколько я знаю там примерно так процесс и сделан, копируется - обфусцируется - дампится

Алексей
17.10.2018
14:38:56
Ну, дамп может пригодиться, если версии разные. А если версия одинаковая, то зачем дампить?

Google
Алексей
17.10.2018
14:40:20
Можно сделать реплику, как вариант. Отсоединить ее и с ней все проделать

Alexander N.
17.10.2018
14:41:58
Как и сколько делается сам дамп мне в принципе не важно, с моей стороны у меня в 3 часа ночи есть дамп который надо уже развернуть

Yaroslav
17.10.2018
14:42:52
Там средствами кубера можно раздел подготавливать заранее и потом его подключать просто к поду
Подождите, а причём тут это? Сколько у Вас баз на источнике, сколько Вам нужно скопировать? И Вы бы посмотрели, что медленнее — снятие или разворачивание. И всё же, в каком формате снимаете?

Alexander N.
17.10.2018
14:45:13
Я не снимаю, это другой отдел эксплуатации делает, у меня туда доступа нет. Моя же система при первом пуше в гит поднимает в кубере целиком среду всего проекта, используя для базы тот самый дамп

Алексей
17.10.2018
14:46:32
Как и сколько делается сам дамп мне в принципе не важно, с моей стороны у меня в 3 часа ночи есть дамп который надо уже развернуть
Если не важно, тогда реплика самый быстрый вариант разворачивания. Делаете реплику. Промотите до мастера. Делаете изменения в БД. Гасите сервер. Копируете файлы. Быстрее прямого копирования файлоы вряд ли что-то получится сделать.

Alexander N.
17.10.2018
14:46:39
Прилетает сжатая gzip sql

Alex
17.10.2018
14:49:19
пока он думает =) у меня тут вопрос про psycopg непонятный мне cursor.itersize = 10000 cursor.execute('SELECT id, a,b,c FROM t1 WHERE id IN (select id from table2)') result = [] for row in cursor: result.append(some_func(row)) if len(result) > 5000: yield result так вот у меня в обеих таблицах десятки миллионов записей, соответственно запрос отрабатывает первоначально долго, но по идее же потом курсор установлен и запросы должны идти быстро, но такое ощущение что как только itersize достигает 10000 курсор опять идет и выполняет запрос, потому что запрос опять же начинает подтормаживать Может быть есть смысл заменить WHERE id IN (SELECT ...) на что-то другое?

Alex
17.10.2018
14:56:24
ну я тут скорее из-за вопроса про WHERE id IN (SELECT id from ...)

это нормально?)

Алексей
17.10.2018
14:58:39
ну я тут скорее из-за вопроса про WHERE id IN (SELECT id from ...)
SELECT id, a,b,c FROM t1 WHERE id IN (select id from table2) SELECT id, a,b,c FROM t1 JOIN table2 t2 ON (t1.id = t2.id) Это?

Alex
17.10.2018
14:59:31
SELECT id, a,b,c FROM t1 WHERE id IN (select id from table2) SELECT id, a,b,c FROM t1 JOIN table2 t2 ON (t1.id = t2.id) Это?
ну типа того, только я не силен в sql'е, и я не уверен, что join будет быстрее а вот за наводку, что там ненастоящие курсоры - это спасибо, пойду погуглю, может быть в этом и есть проблема

Alexander N.
17.10.2018
14:59:56
Вы можете на все вопросы ответить?
К сожалению нет, не могу, у меня нет доступа к проду, все что есть - это файл дампа с 1 базой в sql.gz формате

Поэтому и вопрос чисто про скорость восстановления

Алексей
17.10.2018
15:01:41
Если так, тогда как сказали выше - SSD диск. Ну и воркмем в конфиге задрать, что бы индексы проще делать было

Yaroslav
17.10.2018
15:01:48
К сожалению нет, не могу, у меня нет доступа к проду, все что есть - это файл дампа с 1 базой в sql.gz формате
То есть, Вы не знаете, сколько там баз.. А у Вас вообще есть возможность что-то изменить с "отправляющей" стороны — метод или опции снятия дампа, или заменить его на pg_basebackup... что-нибудь?

Поэтому и вопрос чисто про скорость восстановления
Тогда читайте ту ссылку, которую я уже давал.

S
17.10.2018
15:05:00
@Hellfosa а что вы будете делать когда прод 1Тб станет, будете 1Тб в контейнеры пихать?

Google
Alexander N.
17.10.2018
15:14:20
По факту база не внутри контейнера, а на выделенном Томе, на цефе

Yaroslav
17.10.2018
15:19:55
С отправляющей ничего нельзя посмотреть/сделать
В таком случае, Вам остаётся только мучиться. :( Как я понял, Вы получаете дамп, вероятно, в худшем из возможных форматов (можете забыть о параллельном разворачивании, кстати). (Ещё неизвестно, не испоьзовались ли при снятии какие-нибудь "весёлые" опции... там можно так накрутить, что разворачивание замедлится в несколько раз.) Поэтому помогут только настройки сервера-приёмника, по идее.

Mike Chuguniy
17.10.2018
15:31:27
Алексей
17.10.2018
15:34:06
Кто захочет, тот поймет.

Darafei
17.10.2018
15:37:34
Алексей
17.10.2018
15:38:39
У меня не получилось

Mike Chuguniy
17.10.2018
15:39:17
@Komzpa хммм, как-то вот не задавался этим вопросом. А что не так? Я как-то задирал до 4-х, 6-ти - вроде ускорялось всяческое индексирование при накате пг_дампа

Алексей
17.10.2018
15:40:43
Это в 11 постгре?

Вадим
17.10.2018
15:56:51
привет. не знаю корректный вопрос или нет, как можно узнать на какой таблице больше всего происходит seq_scan?

Gennady
17.10.2018
15:58:21
pgadmin3 показывает при клике на таблицу на вкладке "статистика", а в логе pg можно посмотреть, каким запросом он получает

Вадим
17.10.2018
15:58:53
спасибо, попробую

Terminator
17.10.2018
15:59:56
@invariance будет жить. Поприветствуем!

F01134H
17.10.2018
16:00:23
Ребят, что будет если в unsigned записать -200? Ошибка? Или запишет без минуса?

Mike Chuguniy
17.10.2018
16:00:32
привет. не знаю корректный вопрос или нет, как можно узнать на какой таблице больше всего происходит seq_scan?
https://postgrespro.ru/docs/postgrespro/10/monitoring-stats#PG-STAT-ALL-TABLES-VIEW юзайте доки, ибо правильно это!

Ребят, что будет если в unsigned записать -200? Ошибка? Или запишет без минуса?
https://postgrespro.ru/docs/postgrespro/10/datatype-numeric найдите там беззнаковое, акромя *serial (которые разворачиваются в инт, ибо сиквенсы по сути своей)

Google
F01134H
17.10.2018
16:08:20
или симулировать ?

Yaroslav
17.10.2018
16:12:22
или симулировать ?
CHECK CONSTRAINT, например. Впрочем, зависит от того, какое поведение нужно.

Baha
17.10.2018
16:40:45
Всем привет, такой вопрос, имеется полная копия директории data (300 Гб) если скопировать ее с заменой на другой сервер с той же версией постгреса, база будет доступна?

Baha
17.10.2018
16:45:00
Если при копировании исходный сервер был остановлен, то да.
да, было так: остановил постгрес, ребутнул сервер (центос) и у него там сломалась директория root, но data лежала в директории home, поэтому загрузился с лайв-дистрибутива и скопировал папку

Sab0
17.10.2018
17:13:58
OmniDB?
платная?

Mikhail
17.10.2018
17:14:10
Sab0
17.10.2018
17:14:19
спасибо)

Таир
17.10.2018
17:15:03
а PGAdmin разве не умеет через веб работать?

Mikhail
17.10.2018
17:15:45
спасибо)
но разворачивать за nginx-ingress не советую, вебсокеты криво работают

Таир
17.10.2018
17:16:00
ребят, посоветуйте веб-морду для постгри плз
https://www.pgadmin.org/docs/pgadmin4/3.x/server_deployment.html

Mikhail
17.10.2018
17:16:10
спасибо)
если локально или просто за nginx - то норм

коллеги, как обойти ограничение на установку экстеншенов? дал юзеру права на создание ДБ, нужно дать права и на установку экстеншенов в этом ДБ. давать права суперюзера на кластер stolon совсем не хочу

столон поднимал через хелм со своим имиджем и подготовленными к установке экстеншенами

alex
17.10.2018
17:25:18
всем времени

вопрос такой. настроио мониторинг, на что обратить внимание ?

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