@pgsql

Страница 321 из 1062
Айтуар
05.05.2017
07:19:47
вопрос по рестору. -t, —table=NAME restore named table тут можно использовать регулярки типа table_*? я хочу восстановить все таблицы, кроме некоторых

blkmrkt
05.05.2017
09:11:11
блин, неделю работал скрипт загрузки pgloader, и ночью сервер сдох без объяснений. Можно как-нибудь найти на какой линии pgloader остановился? Он там довольно часто ошибки кидал, думаю можно просто skip lines указать

Google
Denis
05.05.2017
09:42:19
блин, неделю работал скрипт загрузки pgloader, и ночью сервер сдох без объяснений. Можно как-нибудь найти на какой линии pgloader остановился? Он там довольно часто ошибки кидал, думаю можно просто skip lines указать
Я не работал с ним, но есть соображение. Скорее всего, pgloader просто последовательно заполняет страницу за страницей в таблице на низком уровне в обход транзакций. Можно взять pageinspect, если он умеет показать количество страниц - узнать номер последней. И считать содержимое последней страницы, увидеть последний идентификатор и по нему в исходной базу найти номер строки

Darafei
05.05.2017
09:43:33
pgloader - это обчный copy

транзакционный

Denis твой запрос складывает 9.6.1 на Heroku на две минуты :)

Denis
05.05.2017
09:49:24
Inal
05.05.2017
09:55:32
Всем добрый день! Прошу прощения, если немного не в тему чатика, но возник вопрос. 1) У меня есть полнотекстовый поиск (сделан как тут http://qualcode.ru/article/postgresql-full-text-search/ , словари тоже оттуда), качество поиска просто ниже плинтуса. Может есть словари получше и это поможет моему делу? 2) Решал ли кто-то задачу с помощью Postgresql по определению насколько 2 текста похожи. У меня стоит задача только ранжирования. ts_rank'ом просто матчить один текст к другому понравилось не сильно. Сталкивался ли кто-то с такой задачей? Или стоит просто забить и начать копать elasticsearch?

Mike Chuguniy
05.05.2017
10:07:05
@kardanovir http://obartunov.livejournal.com/195950.html

Mike Chuguniy
05.05.2017
10:13:24
хммм, а у Олега есть интересного по тегу fts: http://obartunov.livejournal.com/tag/fts

Denis
05.05.2017
10:17:06
Всем добрый день! Прошу прощения, если немного не в тему чатика, но возник вопрос. 1) У меня есть полнотекстовый поиск (сделан как тут http://qualcode.ru/article/postgresql-full-text-search/ , словари тоже оттуда), качество поиска просто ниже плинтуса. Может есть словари получше и это поможет моему делу? 2) Решал ли кто-то задачу с помощью Postgresql по определению насколько 2 текста похожи. У меня стоит задача только ранжирования. ts_rank'ом просто матчить один текст к другому понравилось не сильно. Сталкивался ли кто-то с такой задачей? Или стоит просто забить и начать копать elasticsearch?
Я решал задачу парсинга строковых адресов людей на город в регионе, улицу и дом/квартиру по справочнику ФОМСа, похожего на КЛАДР на полнотекстовом поиске. Могу сказать, что распознание очень хорошее и похоже на магию) скорость - около сотни адресов в секунду. По поводу ранжирования - это было самое сложное и метрики я придумывал эмпирически на базе ts_rank, ts_rank_cd и некоторых неявных параметров из таблиц

Inal
05.05.2017
10:19:05
Спасибо за интересные ссылки и идеи! Пойду копать)

Lupsick
05.05.2017
11:05:43
посоны, а кто-нибудь знает как правильно работать с таймзонами в бд? Типа если мне нужно рисовать графики в таймзоне юзера, а в бд они в UTC

Google
Darafei
05.05.2017
11:08:38
лучше всего не работать с таймзонами в БД

по возможности всё перевести в абсолютный unix time и в нём и оперировать

Lupsick
05.05.2017
11:10:36
по возможности всё перевести в абсолютный unix time и в нём и оперировать
ну а что делать, если юзер запрашивает данные в своей таймзоне, а мне твой unix time потом надо раскидать по day/month/year?

Darafei
05.05.2017
11:10:49
Почему?
таймзоны ездят и неоднозначны

Lupsick
05.05.2017
11:10:59
пусть они будут в unix time, я не спорю что так норм

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

Andrey
05.05.2017
11:11:29
Как раз потому что они ездят, я их и использую. Иначе как определить локальное время события после того, как таймзона пользователя изменилась?

Darafei
05.05.2017
11:11:29
at time zone 'user_timezone' вполне нормально работает

Lupsick
05.05.2017
11:12:05
ну мб другой какой-то хитрый вариант есть

или гайды

типа данные я запрашиваю в utc, а потом date_trunc уже в AT TIME ZONE?

Anatoliy
05.05.2017
11:12:43
=> select NOW(), NOW() at time zone 'Europe/Berlin'; now | timezone -------------------------------+---------------------------- 2017-05-05 14:12:22.016835+03 | 2017-05-05 13:12:22.016835 (1 row)

Darafei
05.05.2017
11:13:17
ну если графики рисовать надо - то всякие графаны так и передают диапазон unix ts, между которыми надо график нарисовать

Anatoliy
05.05.2017
11:14:10
а если не графаны, а highcharts им подавай unixtimestamp * 1000

Darafei
05.05.2017
11:15:08
а дальше лейблы уже на клиенте локализуются

Anatoliy
05.05.2017
11:17:54
Вообще я не согласен с Дарафеем, мы храним в timestamp without time zone (что тоже неправильно), в timestamptz просто запарно хранить, но верно (имхо), особенно если проект интернациональный. В unixtimestamp хранить это непонятно ни человеку, ни базе, разве что для приложения норм.

Darafei
05.05.2017
11:18:51
мы храним в timestamptz, но везде по протоколам ходит unix timestamp

а чем запарно в timestamptz? он же ничем наощупь не отличается от timestamp в простых кейсах

Anatoliy
05.05.2017
11:25:07
У нас были мускульные базы, в которых лежали unix, при миграции на постргрес переехали as is, потом добавляли колонки новые without time zone – конвертили unix туда и как то было не до зон, особенно мы попали в те года, когда время двигали туда-сюда и мы соответсвенно это деллали аврально, чтобы данные не забиллились в одно и то же время за следующий час. Если бы начинали новый проект – сделали бы timestamptz. А щас уже западло переносить.

Google
Anatoliy
05.05.2017
11:26:46
Хранить не запарно, запарно переписать запросы выборок, биллинги и т.д. потому что их много.

Айтуар
05.05.2017
14:02:54


RunOver
05.05.2017
14:29:52
Не подскажете, где искать мощных DBA?

Уже не один нужен

Александр
05.05.2017
14:30:11
В канале дба?)

RunOver
05.05.2017
14:30:41
Так нужен DBA по postgreSQL

Anatoliy
05.05.2017
14:31:04
postgresql-conculting рекомендую

RunOver
05.05.2017
14:33:00
В этот раз от уровня и потребностей кандидатов отталкиваться будем)

Александр
05.05.2017
14:33:51
У них вилок нет вроде

Сколько хочешь проси)

RunOver
05.05.2017
14:34:31
Не, если ты рассматирваешь 200+, мы готовы тебя собеседовать)

Александр
05.05.2017
14:35:58
Мало видимо

RunOver
05.05.2017
14:36:11
А сколько разумно для тебя?)

Александр
05.05.2017
14:36:19
От 300 нетто хочет наверное

?

blkmrkt
05.05.2017
15:08:07
Так нужен DBA по postgreSQL
Поясните вкратце чем DBA за 200+ (рублей?) занимается? Следит за здоровьем кластера, чтоб делались рабочие бекапы, добавляет и меняет железо, следит за юзерами?

Anatoliy
05.05.2017
15:10:11
Хочешь в DBA пойти, пусть меня научат?))

blkmrkt
05.05.2017
15:11:21
Не, работу не ищу, просто интересно. Например при каких объемах данных и оборотах имеет смысл нанимать отдельного DBA а то и двух?

Anton [Mgn, az09@osm]
05.05.2017
15:11:44
на удалёнку джуном возьмите в дба )

Google
Darafei
05.05.2017
15:11:55
мне, кстати, тоже интересно :)

RunOver
05.05.2017
15:11:57
Поясните вкратце чем DBA за 200+ (рублей?) занимается? Следит за здоровьем кластера, чтоб делались рабочие бекапы, добавляет и меняет железо, следит за юзерами?
Будет заниматься как архитектурой, так и базовой слежкой за состоянием, юзерами, репликами, миграциями. Консультировать наших ребят. По желанию даже лекции читать))

blkmrkt
05.05.2017
15:12:00
а причем тут юзеры и железо?
Да просто предположил. Почему бы и нет?

Anatoliy
05.05.2017
15:13:23
Ну вот наши ДБА занимаются тем, что @RunOver написал. Еще ночью реагируют, если базе поплохело. Разворачивают, конфигурируют, обновляют.

Admin
ERROR: S client not available

Anton [Mgn, az09@osm]
05.05.2017
15:15:06
ребутнуть надо? а то всё равно в то же место тычется [root@scw-ae7500 init.d]# /usr/pgsql-9.6/bin/postgresql96-setup initdb Initializing database ... touch: cannot touch ‘/var/lib/pgsql/9.6/initdb.log’: No such file or directory failed, see /var/lib/pgsql/9.6/initdb.log еще и издевается )
а было вот что: я удалил под корень дефолтный кластер прям вместе с папкой 9.6. но оказывается где-то в скриптах гвоздями прибит путь к /var/lib/pgsql/9.6/initdb.log. вернул папку 9.6 и пошло как по маслу!

RunOver
05.05.2017
15:17:08
А объемы данных у вас какие и насколько высокая нагрузка? Железо свое наверное?
Нагрузка не особо высокая сейчас, примерно 20 тысяч записей в секунду, но скоро на китай выходим. Будет веселье.

Anton [Mgn, az09@osm]
05.05.2017
15:18:12
всем бы в китай ?

RunOver
05.05.2017
15:18:27
Anton [Mgn, az09@osm]
05.05.2017
15:18:43
угу, это в /etc/postgresql/ пишется
вот бы параметр запуска найти

Мм?
ну намёк на то что вы не одни такие )

RunOver
05.05.2017
15:20:51
инсерты

Anatoliy
05.05.2017
15:20:54
Нас не посмотреть, потому что я не ДБА) Мы пользуемся услугами http://dataegret.ru

У нас хайлоад и все дела

Google
blkmrkt
05.05.2017
15:23:45
инсерты
а какой примерно размер данных на дисках?

Anton [Mgn, az09@osm]
05.05.2017
15:24:02
Мм?
мне вот в эти выхи на крутой сервак в прод разворачивать планету. и хоть бы завалящего дба, который подскажет что в конфиг сервера выставить, как потоки распределить по ядрам... не, всё самому придётся угадывать. и да, речь про азию тоже в том числе

RunOver
05.05.2017
15:26:21
~4тб

Богдан
05.05.2017
15:26:58
@blkmrkt ты свою базу так и не поднял?

blkmrkt
05.05.2017
15:27:01
~4тб
хех, у меня точно так же, записей столько же, и тысяч 10 апсертов в сек

@blkmrkt ты свою базу так и не поднял?
вот последний релейшн залил, но ночью в ДЦ пропало электричество. Сейчас дропнул ее, делаю vacuum full и начну заново. Неделю заливалось

Anton [Mgn, az09@osm]
05.05.2017
17:47:15
всем спасибо и спокойной ночи. завтра продолжим )
в общем так. для того чтобы в центось7 создать кластер в другом, отличном от дефолтного, месте достаточно изменить строку Environment=PGDATA=/var/lib/pgsql/9.6/data/ в /lib/systemd/system/postgresql-9.6.service

Anton [Mgn, az09@osm]
05.05.2017
17:49:53
так-то да, systemctl restart postgresql-9.6
и вот в чем вопрос. в случае единственного кластера сервис еще не запущен, а вот если один кластер уже существует (например по стандартному пути) и вдобавок создаётся еще в другом месте, то рестарт сервиса (с изменённой строкой) не выкинет ли первый в даун?

Не, лучше параметр передать pg_createcluster
наверно как раз мой случай, спасибо почитаю

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