@pgsql

Страница 359 из 1062
Ainar
07.06.2017
10:39:06
Denis Ясно, спасибо ещё раз. Вопросов больше нет.

Boris
07.06.2017
11:00:17
ПРивет, подскажите. как диагностировтаь причину лага Londiste ?

Петр
07.06.2017
11:04:51
воркеры запущены? pgq запущен? ошибок в репликации нет? если с этим все ок, то смотрите блокировки

Alexey
07.06.2017
11:09:18
ну судя вот по этому https://blog.2ndquadrant.com/wp-content/uploads/2016/01/pglogical.png londiste вообще самое медленное из всего доступного. Поэтому может являться причиной лага само по себе

Google
Dmitry
07.06.2017
13:01:00
postgres=# select extract(epoch from now()-pg_last_xact_replay_timestamp()); date_part —--------- -0.673088 (1 row) это потому что pg_last_xact_replay_timestamp вычисляется после составления снапшота?

Darafei
07.06.2017
13:05:45
select extract(epoch from clock_timestamp()-pg_last_xact_replay_timestamp()); поможет?

Dmitry
07.06.2017
13:07:27
неа. pg_last_xact_replay_timestamp() берется из wal

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

то значение будет отрицательное :)

Dmitry
07.06.2017
18:21:35
добрый вечер. такая задача: есть таблица (name text, group text), name могут повторяться.

нужно для любого name найти все name родственные ему по group, причём нужно учитывать косвенное родство

т.е. для случая (Вася, a), (Петя, a), (Петя b), (Коля b) для Васи нужно вернуть и Петю и Колю

есть идеи?

Dmitry
07.06.2017
18:25:53
Стройте дерево с корнем Вася с связанностью по группам. with recursive вам в помощь

Dmitry
07.06.2017
18:44:18
То что нужно, спасибо!

Darafei
07.06.2017
19:24:04
а есть способ быстро проверить, что в bitstring есть единички?

Dmitry
07.06.2017
19:30:48
>0 ?

Google
Darafei
07.06.2017
19:31:39
[local] gis@gis=# select '000000000000000000000000000000000000000100000000000000000000000000000000000000'::bit(10000) > 0; ERROR: 42883: operator does not exist: bit > integer LINE 1: ...000100000000000000000000000000000000000000'::bit(10000) > 0;

Dmitry
07.06.2017
19:32:18
А в целое его нельзя перевести?

Darafei
07.06.2017
19:32:35
нет видать настолько длинных целых

и из bit в numeric каста нет

Dmitry
07.06.2017
19:33:36
А если так: bit & 0 <> 0

Or

Не and

Darafei
07.06.2017
19:34:06
да, только 0 - это будет тоже битмаска

и получится битмаска, которую надо сравнивать с битмаской

так что я пока просто с нулевой битмаской сравниваю

но мало ли

Dmitry
07.06.2017
19:34:52
Блин. Туплю. Bit & 0 <> bit

Ну тоже вариант. А что, медленно отрабатывает?

Darafei
07.06.2017
19:37:04
ну, на сегодня этой скорости мне хватит

Fike
07.06.2017
22:55:54
Три бэктика до и после, либо по одному бэктику для инлайна. Как в маркдауне, только других фишек тут нет.

Anton [Mgn, az09@osm]
08.06.2017
02:36:40
зато тут есть инлайн-боты. @bold @LatexBot например и еще наверняка 100500 клонов

Pavel
08.06.2017
04:18:14
Для перевода можно использовать @a8bot

Anton [Mgn, az09@osm]
08.06.2017
04:36:09
Для перевода можно использовать @a8bot
годно. а в качестве dictionary @multitran_bot (правда он не инлайн)

Google
Dmitry
08.06.2017
04:39:39
Наберите в поиске telegram markdown. Можно и жирным и курсивом. Только зачеркнутым не нашёл как.

И без всяких ботов

Anton [Mgn, az09@osm]
08.06.2017
04:40:09
алсо в мобильной версии не сработает бэктик, но есть кнопка форматирования текста "BIU" хотя на самом деле там только bold да italic

Dmitry
08.06.2017
04:44:05
select now() - с андроида.

Как видите работает с мобильной версии

Anton [Mgn, az09@osm]
08.06.2017
04:44:46
```тест```

Dmitry
08.06.2017
04:45:02
Три бэктика

Anton [Mgn, az09@osm]
08.06.2017
04:45:14
```тест```
не с андроида ?

Три бэктика
запаришься набирать в ойфоне

Dmitry
08.06.2017
04:46:44
Хм... Айпэд дома. Как доберусь - проверю не с андроида :)

Dattk
08.06.2017
04:47:19
Denis
08.06.2017
04:47:39
Хм... Айпэд дома. Как доберусь - проверю не с андроида :)
я уже проверил - не работает. с ios только через @bold

Dattk
08.06.2017
04:48:32
хотя если потом отредактировать свое сообщение с десктопа - работает ?

Denis
08.06.2017
04:51:00
Мне кажется на клавиатуре iOS нет настоящих бэктиков

Dmitry
08.06.2017
04:54:54
https://meta.stackexchange.com/questions/133673/is-there-a-way-to-enter-back-tick-backtick-on-so-when-using-ipad-or-iphone

Denis
08.06.2017
05:09:01
https://meta.stackexchange.com/questions/133673/is-there-a-way-to-enter-back-tick-backtick-on-so-when-using-ipad-or-iphone
я проверял вариант с зажатым символом ', но ничего не вышло на ios. про .?123 я не осознал

Vova
08.06.2017
07:51:07
есди дб начинается с заглавной буквы, как ее дропнуть?)

Darafei
08.06.2017
07:53:24
Кавычки

Google
YaOurTea
08.06.2017
08:21:55
Надо сделать бэкап базы, нашел pg_dump и pg_basebackup

Почитал, не понял особой разницы

Аггей
08.06.2017
08:24:58
Один логический другой физический )

А так очень похожи ))

Admin
ERROR: S client not available

Dmitry
08.06.2017
08:25:37
pg_dump - логический бэкап, бэкапит конкретную БД в терминах постгреса. Дамп может быть как набор команд, так и бинарный pg_basebackup - физический, бэкапит весь кластер (в терминах постгреса) целиком. Только бинарный

Alex
08.06.2017
08:26:20
Может если неясны различия между бинарным и текстовым бэкапом, ну его, это ИТ?

Dmitry
08.06.2017
08:26:27
Фактически pg_basebackup делает копию вашего PG_DATA, если упрощённо.

Может если неясны различия между бинарным и текстовым бэкапом, ну его, это ИТ?
pg_dump тоже умеет бинарный бэкап. Не путайте бинарный и физический бэкапы

YaOurTea
08.06.2017
08:28:16
Ну дак я могу сделать pg_dump и за'gzip-ить его просто

Dmitry
08.06.2017
08:28:23
pg_restore как раз нужен для восстановления из бинарного бэкапа, созданного pg_dump

Ну дак я могу сделать pg_dump и за'gzip-ить его просто
Можете. Но этого не всегда достаточно. Для дэвел-окружения бэкап просто pg_dump-ом прокатит. Для прода нет.

Alex
08.06.2017
08:30:19
Пардон, про эту фичу забыл

Dmitry
08.06.2017
08:31:50
Для восстановления на момент времени логический бэкап не подходит например. Вы можете восстановиться только на момент создания бэкапа.

Alexey
08.06.2017
08:37:16
извините, что я опять о своём, но тут интересный момент. в mysql можно сделать восстановление на момент времени, использовав логический бэкап и журнал логической репликации (binlog). правильно ли я понимаю, что в постгресе так нельзя даже с pglogical, т.к. нет "журнала логической репликации" как такового, поэтому физический бэкап — единственное решение?

Dmitry
08.06.2017
08:39:37
В mysql другая архитектура. Там нет физического бэкапа как такового, а бинарный лог - это либо стейтменты, либо строки, либо и то и другое. В postgres не так.

Alexey
08.06.2017
08:40:28
нет, физический бэкап таки есть. физической репликации нет

поэтому я могу взять либо физический бэкап, либо логический и накатить (логический) binlog до нужного момента

а в постгресе получается, для PITR необходим строго физический бэкап. так как действительно нет утилиты для наката логических изменений до нужного момента времени?

Dmitry
08.06.2017
08:42:36
Может. Но всё равно это на логическом уровне делается. Физический бэкап да, можно взять и утащить файлы целиком. И это будет физический бэкап.

Google
Alexey
08.06.2017
08:43:33
а как именно сделать логический PITR на логическом бэкапе?

в смысле, чем накатывать изменения и откуда их брать?

Dmitry
08.06.2017
08:43:59
В постгресе, как и в оракле только физика. Потому что логи идут на уровне работы с блоками, а не со строками и стейтментами.

В постгресе нет PITR на логическом бэкапе

Требования к консистентности тут более жесткие, чем в mysql

Alexey
08.06.2017
08:45:49
ну, в случае logical decoding + pglogical на самом деле есть логический журнал, который описывает изменения в терминах строк. просто он "вшит" в WAL. и нет способа взять WAL, вытащить оттуда эти логические изменения и накатить на логический бэкап

Dmitry
08.06.2017
08:48:07
Не могу сказать. Я в проде только физическую репликацию использую. Если надо что-то достать, у нас есть отдельный сервер развертывания бэкапов для разбора полётов. Можем восстановиться на момент времени и посмотреть.

Alexey
08.06.2017
08:48:31
ok, спасибо

в оракл всё-таки есть логическая репликация. называется oracle supplemental logging и oracle logical standby

Dmitry
08.06.2017
08:53:18
Вы путаете. Supplemental логи нужны для репликации, но это не технология репликации. Есть Advanced Replication и Streaming Replication. Говорю вам как OCP 9i,10g

Логический стендбай и репликация - это разные вещи в оракле. Разные системные процессы за то и другое отвечают.

Alexey
08.06.2017
08:57:47
я понимаю, что supplemental logging — это не репликация сама по себе. это прямой аналог logical decoding, или wal_level = logical, если быть совсем точным

но logical standby организуется через логическую репликацию, которая в свою очередь использует supplemental logging, правильно?

вот orafaq это подтверждает: "Stand by database is called “logical”, the physical structure of both databases do not match and from the archived redo log we create SQL statements then these statements will be applied to stand by database."

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