@pgsql

Страница 356 из 1062
Philip
05.06.2017
12:36:39
добрый день, подскажите пожалуйста как мне извлечь значение интервала в определенных единицах(например месяца)? extract(month from interval '2 years 3 months') - result 3 а мне требуется result 27

Lev
05.06.2017
12:38:04
перевести в секунды и поделить?

select extract (epoch from ((interval '2 years' + interval '3 months'))) / extract (epoch from interval '1 month');

Google
Dmitry
05.06.2017
12:44:49
27 - это что? Сильно смахивает на 42 из Автостопом по Галактике )))

Philip
05.06.2017
12:45:25
27 - это 2 года * 12 месяцвев + 3

Igor
05.06.2017
12:46:25
Коллеги, вопрос: Есть сервер 1 с pgsql, база: postgres, owner: postgres, schema public Хочется перенести на сервер 2 с postgres: база: name. owner: name, schema: name

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

базу собственно с содержимым)

чтобы данные были в схеме name и принадлежали owner: name

Philip
05.06.2017
12:48:24
задача... она о другом, а по сути вопроса мне требуется проверить сколько единиц времени(часы/секунды) назад пользователь совершал то или иное действие и меня интересует в данном случае только результат в этих единицах, а не в человеко-понятом виде:-).

Dmitry
05.06.2017
12:49:21
используйте unixtime

Artem
05.06.2017
13:24:12
Прошу прощения за повторный вопрос, но всё-таки потоковая репликация между 9.5 и 9.6 невозможна?

С целью обновления с 9.5 до 9.6

Sergey
05.06.2017
13:29:58
точно нет

Sergey
05.06.2017
13:38:50
Прошу прощения за повторный вопрос, но всё-таки потоковая репликация между 9.5 и 9.6 невозможна?
Вероятно через pglogical возможно https://www.2ndquadrant.com/en/resources/pglogical/pglogical-docs/

Google
Artem
05.06.2017
13:39:36
Это будет лучше, чем через Slony?

Sergey
05.06.2017
13:41:49
Slony - trigger based репликация

Artem
05.06.2017
13:42:14
Итоговая цель- обновление без даунтайма с 9.5 до 9.6

При обновлении с 9.4 до 9.5 через pg-upgrade даунтайм был около получаса

Sergey
05.06.2017
13:43:02
pglogical - логическая репликация , в каком-то смысле более встроенная в postgres

Сам не пробовал. Документация заявляет такой upgrade в качестве одной из целей использования pglogical

Alexey
05.06.2017
13:50:45
чем хорош pglogical? тем, что у него хотя бы bug tracker есть. потому в отличие от встроенной репликации можно оценить стабильность и масштабы использования: https://github.com/2ndQuadrant/pglogical/issues

Sergey
05.06.2017
15:33:09
Почему строка может быть не видна через index scan, но видна через sequential scan? https://gist.github.com/anonymous/33ab184d90e91e4c517d8fae74944db6

Сергей
05.06.2017
15:33:58
попробуй индекс пересоздать

это под нагрузкой? или чисто локальная база?

Alexandr
05.06.2017
15:34:51
Добрый день коллеги Кто-нибудь пробовал ruby самописное приложение настроить подключение к базе через pgbouncer? ActionView::Template::Error (PG::UndefinedTable: ERROR: relation «table» does not exist

Sergey
05.06.2017
15:35:39
Это уже без нагрузки. Думаю что после пересоздания индекса эффект пропадет.

Grigory
05.06.2017
15:36:18
скорее всего что-то из этого: https://wiki.postgresql.org/wiki/Visibility_Map_Problems

Сергей
05.06.2017
15:36:18
а база как-то повреждена не была?

Sergey
05.06.2017
15:39:34
скорее всего что-то из этого: https://wiki.postgresql.org/wiki/Visibility_Map_Problems
Первым делом посмотрел. Это даёт обратный эффект - показывает удаленный таплы через index-only scan. Corruption of a visibility map can lead to false results from index-only scans, that is returning rows that should not be returned because they have been deleted.

а база как-то повреждена не была?
Сложный вопрос - postgres=# show data_checksums; -[ RECORD 1 ]--+---- data_checksums | off

_vm и _fsm форки соответствующего relation удалял - эффект нулевой

Darafei
05.06.2017
15:45:21
какая версия постгреса?

в релиз-нотсах 9.6.2: Fix a race condition that could cause indexes built with CREATE INDEX CONCURRENTLY to be corrupt (Pavan Deolasee, Tom Lane) If CREATE INDEX CONCURRENTLY was used to build an index that depends on a column not previously indexed, then rows updated by transactions that ran concurrently with the CREATE INDEX command could have received incorrect index entries. If you suspect this may have happened, the most reliable solution is to rebuild affected indexes after installing this update.

Sergey
05.06.2017
15:47:11
Обнаружили после update 9.5.5 => 9.5.7

Google
Darafei
05.06.2017
15:48:28
этот же комментарий в ченжлоге на 9.5.6

https://www.postgresql.org/docs/9.6/static/release-9-5-6.html

Sergey
05.06.2017
15:48:59
ctid тапла в листьях индекса есть https://gist.github.com/anonymous/39547cd90d2f145b8da0eb1379830c88

Darafei
05.06.2017
15:49:30
ну, битый индекс, и с тех пор это чинили

переиндексируй и начинай ругаться, если повторится на 9.5.6+

Sergey
05.06.2017
15:50:08
И то могло с полгода не проявляться?

Darafei
05.06.2017
15:50:35
если невидимость строки никак не влияет на флоу - почему нет

Sergey
05.06.2017
15:54:04
pg_dump/pg_restore

Вряд ли там внутри create index concurrently

Darafei
05.06.2017
15:55:42
индекс на 9.5.7 создавался, или pg_upgrade c 9.5.5 перетянул?

Sergey
05.06.2017
15:56:26
Скореевсего pg_upgrade. Что там у yum может быть внутри?

Darafei
05.06.2017
15:57:57
а, туплю, между ними pg_upgrade не нужен ведь

Sergey
05.06.2017
16:06:17
reindex помог. А вот план теперь совсем непонятный. https://gist.github.com/anonymous/52b5e9e7081f01bf6817b7426a63e8a6 Зачем там сразу index scan и seq scan?

Postgres рассчитывает найти ещё один тапл с тем же уникальным ключем в таблице помимо тех что он нашел в индексе? И почему тогда seq scan даёт 0 rows?

Darafei
05.06.2017
16:11:15
analyse nicname.domains;

Sergey
05.06.2017
16:12:07
Просто vacuum не подразумевает analyze?

Ага, документация на 9.5 говорит что нет, не подразумевает.

analyze прошел, план не поменялся.

Darafei
05.06.2017
16:23:26
domains и domains_3 - это всё обычная таблица, или партиции какие?

Alex
05.06.2017
16:26:30
Всем привет Меня попросили помочь потестить простые запросы для аналитики в разных системах (SQL реляционная база, Pandas, итд), выгружая и не выгружая все в память. Остальное мне не очень интересно, но вот в постгресе решил сам потестить Я нагенерил таблицу на 1 ГБ случайных чисел в постгресе вот так https://gist.github.com/ololobus/5b25c432f208d7eb31051a5f238dffff И сделал запрос, там пример есть с EXPLAIN Возникло 2 вопроса: – Я попробовал сделать одно и то же в установленном у меня глобально 9.6.1 и девелоперском 10beta1 из мастера, в гисте есть результаты EXPLAIN. Я понимаю, что от версии к версии все должно становиться лучше, но не почти в 3 раза же?! Я не следил за ченджлистом следующего релиза, но судя по всему в 10 создаются параллельные воркеры (2 шт. у меня по дефолту), это потенциально до 2-х раз быстрее, что еще могло повлиять на производительность так сильно? – Еще я подумал, что если достаточно увеличить shared_buffers, то вся база однажды попадет в оперативку и все станет намного быстрее. Попробовал это сделать и даже использовал экстеншн pg_prewarm, но после ~10 запросов shared hit так и остался низким, при этом процесс postgres как отъедал мало оперативки, так и продолжил. Что я сделал не так и как вообще можно добиться полного попадания таблицы/базы в память, если размеры позволяют?

Google
Darafei
05.06.2017
16:33:34
Всем привет Меня попросили помочь потестить простые запросы для аналитики в разных системах (SQL реляционная база, Pandas, итд), выгружая и не выгружая все в память. Остальное мне не очень интересно, но вот в постгресе решил сам потестить Я нагенерил таблицу на 1 ГБ случайных чисел в постгресе вот так https://gist.github.com/ololobus/5b25c432f208d7eb31051a5f238dffff И сделал запрос, там пример есть с EXPLAIN Возникло 2 вопроса: – Я попробовал сделать одно и то же в установленном у меня глобально 9.6.1 и девелоперском 10beta1 из мастера, в гисте есть результаты EXPLAIN. Я понимаю, что от версии к версии все должно становиться лучше, но не почти в 3 раза же?! Я не следил за ченджлистом следующего релиза, но судя по всему в 10 создаются параллельные воркеры (2 шт. у меня по дефолту), это потенциально до 2-х раз быстрее, что еще могло повлиять на производительность так сильно? – Еще я подумал, что если достаточно увеличить shared_buffers, то вся база однажды попадет в оперативку и все станет намного быстрее. Попробовал это сделать и даже использовал экстеншн pg_prewarm, но после ~10 запросов shared hit так и остался низким, при этом процесс postgres как отъедал мало оперативки, так и продолжил. Что я сделал не так и как вообще можно добиться полного попадания таблицы/базы в память, если размеры позволяют?
2 воркера - это 2 воркера + родитель, т.е. 3 воркера

Alex
05.06.2017
16:35:49
2 воркера - это 2 воркера + родитель, т.е. 3 воркера
Хм, если так, то с этим все более менее понятно: запрос хорошо параллелится и как раз в 2.5 раза быстрее стало, неплохо. Спасибо за ответ

Darafei
05.06.2017
16:39:33
там же в плане видно, 6666667 строк на воркер - это 20000000 на три

Всем привет Меня попросили помочь потестить простые запросы для аналитики в разных системах (SQL реляционная база, Pandas, итд), выгружая и не выгружая все в память. Остальное мне не очень интересно, но вот в постгресе решил сам потестить Я нагенерил таблицу на 1 ГБ случайных чисел в постгресе вот так https://gist.github.com/ololobus/5b25c432f208d7eb31051a5f238dffff И сделал запрос, там пример есть с EXPLAIN Возникло 2 вопроса: – Я попробовал сделать одно и то же в установленном у меня глобально 9.6.1 и девелоперском 10beta1 из мастера, в гисте есть результаты EXPLAIN. Я понимаю, что от версии к версии все должно становиться лучше, но не почти в 3 раза же?! Я не следил за ченджлистом следующего релиза, но судя по всему в 10 создаются параллельные воркеры (2 шт. у меня по дефолту), это потенциально до 2-х раз быстрее, что еще могло повлиять на производительность так сильно? – Еще я подумал, что если достаточно увеличить shared_buffers, то вся база однажды попадет в оперативку и все станет намного быстрее. Попробовал это сделать и даже использовал экстеншн pg_prewarm, но после ~10 запросов shared hit так и остался низким, при этом процесс postgres как отъедал мало оперативки, так и продолжил. Что я сделал не так и как вообще можно добиться полного попадания таблицы/базы в память, если размеры позволяют?
а про второе - сколько shared_buffers?

http://pgtune.leopard.in.ua/ натравливали? :)

Alex
05.06.2017
16:44:53
а про второе - сколько shared_buffers?
Поставил с запасом 4 ГБ. Попробовал сейчас pgtune, тоже 4 советует :) Да, действительно, по строкам совпадает. Я все на время смотрел, пропустил

Admin
ERROR: S client not available

Darafei
05.06.2017
17:19:11
а по скоростям - обычно быстрее или в 10, или в 100 раз :)

так что да, 2.5 - необычно мало

Alex
05.06.2017
20:58:41
Имея всего 2 (+1) воркера было бы странно получить ускорение сразу в 10 раз :)

Abbos
06.06.2017
02:18:13
ребят Добрый день всем, в pgadmin 3 ничайно удалил таблицы, как можно вернуть кто знает



Anton [Mgn, az09@osm]
06.06.2017
02:31:49
Undo нету так-то. pg_dump нужен был перед удалением ))

Abbos
06.06.2017
02:32:36
то есть никак

?

Anton [Mgn, az09@osm]
06.06.2017
02:33:43
да, никак. а ведь он три раза небось спросил..?

Алексей
06.06.2017
02:34:15
один :)

Abbos
06.06.2017
02:34:17
нет 1)

Google
Anton [Mgn, az09@osm]
06.06.2017
02:36:30
тыканье мышкой отключает мозг, мдауш. исходя из этого можно и все 5 раз спрашивать результат не поменяется )

Abbos
06.06.2017
02:37:46
тыканье мышкой отключает мозг, мдауш. исходя из этого можно и все 5 раз спрашивать результат не поменяется )
да блин там другая ситуация была, я хотел кое что другое удалить, а он взял и всю таблицу

Anton [Mgn, az09@osm]
06.06.2017
02:43:42
да ладно, не расстраивайся. у меня есть опыт пострашнее - удалил весь кластер бд заодно с хомой юзера. теперь пользуясь mc под рутом я ОЧЕНЬ осторожен. особенно под утро бессонной ночи ?

Anton [Mgn, az09@osm]
06.06.2017
02:46:54
5 дней псу под хвост, ага

господа, кстати про отмены. видимо неправильно составил апдейт и за ночь выжралось 100% диска под базой. как пожать теперь подскажите пожалуйста?



620К записей придется апдейтить как-то хитрее... однако мне повезло, отмена выполнения запроса откатиро транзакцию похоже и место освободилось на диске

всем хорошего дня!

Abbos
06.06.2017
03:11:19
ребята, для имени фамилии там character varying использовать нормльно? или есть немного лучше типы данных

Darafei
06.06.2017
03:13:16
text

Abbos
06.06.2017
03:26:52
text
о спасибо

Anton [Mgn, az09@osm]
06.06.2017
03:39:10
620К записей придется апдейтить как-то хитрее... однако мне повезло, отмена выполнения запроса откатиро транзакцию похоже и место освободилось на диске
@Komzpa смотри скока в России роадов! Это у меня xlog вспух? (некогда было смотреть) Попробую ка сначала дс, а потом уж всю страну )

Darafei
06.06.2017
03:40:05
покажи запрос. 620 000 записей апдейтятся за минуты.

и вообще, где план? :)

Anton [Mgn, az09@osm]
06.06.2017
03:42:38
пока могу только сказать что count по тому же условию 10 мин тупит

Darafei
06.06.2017
03:46:14
план покажи

вдруг у тебя там seq scan по таблице, потому что ты пересекаешь с россией, ббокс которой накрывает половину мира из-за захлёста за 180 градусов

Anton [Mgn, az09@osm]
06.06.2017
03:48:45
о-па, про 180 конечно забыл )

план покажи
с телефона 4" придётся (

но не секскан точно. ладно-ладно, вернусь с планом )

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