@pgsql

Страница 167 из 1062
dmitriy
21.11.2016
11:04:26
на репликах нет висящих транзакций?

Maxim
21.11.2016
11:04:36
на репликах вообще ничего нет

приложения остановлены

там только моя psql-консоль

Google
Maxim
21.11.2016
11:05:07
можно в принципе и реплики остановить

dmitriy
21.11.2016
11:05:16
в pg_stat_activity?

можете, но слоты дропните тогда

Maxim
21.11.2016
11:05:35
postgres=# select * from pg_stat_activity; -[ RECORD 1 ]----+-------------------------------- datid | 12409 datname | postgres pid | 10306 usesysid | 10 usename | postgres application_name | psql client_addr | client_hostname | client_port | -1 backend_start | 2016-11-21 10:58:03.446529+00 xact_start | 2016-11-21 11:05:26.843328+00 query_start | 2016-11-21 11:05:26.843328+00 state_change | 2016-11-21 11:05:26.843331+00 wait_event_type | wait_event | state | active backend_xid | backend_xmin | 2784406863 query | select * from pg_stat_activity; postgres=#

вот реплика

можете, но слоты дропните тогда
тогда придется слейвов заново переналивать же?

dmitriy
21.11.2016
11:07:07
вот реплика
а на второй?

Maxim
21.11.2016
11:07:16
а вторую выключили

dmitriy
21.11.2016
11:07:33
ну вот выключили, а слот остался

а там же active = true в выводе

тогда придется слейвов заново переналивать же?
придется, если архива нет и валы с мастера почистятся

Maxim
21.11.2016
11:08:28
а там же active = true в выводе
тогда еще включена была

postgres=# select * from pg_replication_slots; -[ RECORD 1 ]-------+-------------- slot_name | biglion plugin | slot_type | physical datoid | database | active | f active_pid | xmin | 2782361413 catalog_xmin | restart_lsn | 401F/31B00000 confirmed_flush_lsn | -[ RECORD 2 ]-------+-------------- slot_name | db02 plugin | slot_type | physical datoid | database | active | t active_pid | 6782 xmin | 2784406866 catalog_xmin | restart_lsn | 404B/C3C016D8 confirmed_flush_lsn |

Google
Maxim
21.11.2016
11:08:52
сейчас только один активный слейв

dmitriy
21.11.2016
11:09:21
почему тут такой маленький xmin? xmin | 2782361413

причем на обеих

Maxim
21.11.2016
11:09:50
?

dmitriy
21.11.2016
11:10:28
txid_current_snapshot(); точно с того мастера?

Maxim
21.11.2016
11:10:48
других нет

dmitriy
21.11.2016
11:12:11
а select pg_current_xlog_location(); на мастере?

Maxim
21.11.2016
11:12:50
pg_current_xlog_location —------------------------ 404D/78C96000

dmitriy
21.11.2016
11:14:59
ну они как бы отстают

нехило так

или вы давно уже потушили их?

Петр
21.11.2016
11:16:25
Не так много

Maxim
21.11.2016
11:17:08
тот который потушен отстает "ожидаемо" его зачем-то выключали

а живой должен не сильно отставать

dmitriy
21.11.2016
11:17:27
# select '404D/78C96000'::pg_lsn - '404B/C3C016D8'::pg_lsn; ?column? ------------ 7332251944 (1 row)

Maxim
21.11.2016
11:29:58
INFO: vacuuming "public.billing_invoices" ERROR: canceling statement due to statement timeout

ну класс

Evgeniy
21.11.2016
15:43:03
мужики, что есть кроме редиса для задачи 1. вставить пару юзер, валью 2. получить ранк по юзеру 3. получить диапазон юзеров по диапазону ранков ?

Fike
21.11.2016
15:43:40
что такое ранк по юзеру?

Evgeniy
21.11.2016
15:44:04
rank() over (order by value desc)

Google
Evgeniy
21.11.2016
15:44:26
даю user_id = 1 получаю в ответ rank = 1000

Paul
21.11.2016
15:45:21
даю user_id = 1 получаю в ответ rank = 1000
не понял как работает ваша функция что она делает?

что это за число?

Evgeniy
21.11.2016
15:45:38
что это за число?
rank() over (order by value desc)

Fike
21.11.2016
15:46:06
я тупой и не первый час на работе, не соображаю ничего. что именно подразумевается под ранком в функциональном плане?

Nikita
21.11.2016
15:47:16
я думаю проще тут почитать http://redis.io/topics/data-types там "Sorted sets"

Evgeniy
21.11.2016
15:47:31
ну это же рейтинг людей по value

я думаю проще тут почитать http://redis.io/topics/data-types там "Sorted sets"
вот я и спрашиваю что есть кроме редиса

Nikita
21.11.2016
15:48:14
ты помоему не можешь нормальным языком объяснить что ты хочешь, я сделал это за тебя :)

Fike
21.11.2016
15:48:32
ну это же рейтинг людей по value
что за value? я до сих пор эти объяснения не понимаю

просто кастомный атрибут со значением?

Nikita
21.11.2016
15:48:52
ну по сути это занчение по которому идет сортировка

Evgeniy
21.11.2016
15:49:02
кастомный атрибут да

Fike
21.11.2016
15:49:56
memsql скорее всего. никогда не использовал, про гарантии ничего не знаю, должно быть нормально.

Evgeniy
21.11.2016
15:50:04
ггг

Nikita
21.11.2016
15:50:20
т.е. по нему все соритурются и выбираются с ранком таким-то. аналог with q as ( select rank() over (bla-bla) from .. ) select * from q where rank in (bla-bla)

Fike
21.11.2016
15:50:26
если не нужны ответы в пределах миллисекунд, выбросить вообще все и использовать обычное хранилище

Evgeniy
21.11.2016
15:50:59
ясно понятно

Nikita
21.11.2016
15:52:10
еще есть redis_fdw всегда :))

Fike
21.11.2016
15:53:15
ясно понятно
ответ на уровне вопроса

Google
Павел П.
21.11.2016
19:09:00
извиняюсь за глупый вопрос, курю документацию, но так и не понял почему json_each(json_field) выдает мне record, а не тоже джейсон.

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

версия 9.3

raksita
21.11.2016
19:12:59
У тебя json array?

Павел П.
21.11.2016
19:13:56
нет

raksita
21.11.2016
19:15:16
Json_array_elements можно

Павел П.
21.11.2016
19:18:28
ERROR: cannot call json_array_elements on a non-array

raksita
21.11.2016
19:18:29
Или row_to_json к результату json_each_text

Павел П.
21.11.2016
19:19:31
Или row_to_json к результату json_each_text
вроде помогло, спасибо!

Admin
ERROR: S client not available

raksita
21.11.2016
19:19:32
У меня чаще всего именно он, но json array <> json[]

Павел П.
21.11.2016
19:20:44
просто не очень понятна логика почему из джейсона на выходе record вместо него же

Darafei
21.11.2016
19:28:39
https://www.postgresql.org/docs/9.6/static/functions-json.html

потому что на выходе таблица key | value

где key - text, a value - json

Павел П.
21.11.2016
19:33:01
Ага, сложилось) спасибо

blkmrkt
21.11.2016
21:38:01
vw=# VACUUM FULL profile_chunks; ERROR: could not extend file "base/16385/67754211.120": wrote only 4096 of 8192 bytes at block 15844765 HINT: Check free disk space. Что поделать? Внезапно сожралось много места за ночь, остановил после того как получил алярм что занято 97% диска ?

на SO рекомендуют сделать бекап/рестор, но мне некуда...

Evgeniy
21.11.2016
21:40:13
:(

Google
blkmrkt
21.11.2016
21:41:42
нельзя никак заставить его писать кусками?

Evgeniy
21.11.2016
21:42:10
вакуум фул берет всё хорошее из таблички и пишет в другой файлик

потом дропает старый

так что нужно место на копирование всего хорошего

blkmrkt
21.11.2016
21:42:55
офигеть

а просто вакум?

Evgeniy
21.11.2016
21:43:53
а он только пометит блоки в файликах как свободные на реюз

blkmrkt
21.11.2016
21:44:14
охренеть, вот это дела

Evgeniy
21.11.2016
21:44:32
да, не было печали — выбрали постгрес на проект

blkmrkt
21.11.2016
21:53:31
а если я начну чистать бд вручную, например дропая ненужные туплы, место тоже не освободится под vacuum full?

Darafei
21.11.2016
21:54:00
а как ты дропнешь тапл в mvcc? :)

Аггей
21.11.2016
21:54:06
pg_compactor тут рекомендовали

Думаю для начала им стоит

Evgeniy
21.11.2016
21:54:33
думаю сперва стоит понять как он работает

blkmrkt
21.11.2016
21:54:55
pg_compactor тут рекомендовали
о спасибо, почитаю

Аггей
21.11.2016
21:55:16
Ну я теоретически знаю )

blkmrkt
21.11.2016
21:56:15
каков примерно шанс что случится обосрамс с pg_compactor?)

Evgeniy
21.11.2016
21:56:22
это очень круто, потому что документации как он работает нет

blkmrkt
21.11.2016
21:57:09
? README.md Added Gitter badge a year ago

Evgeniy
21.11.2016
21:57:55
2к строк на перле без комментариев

заебись

Аггей
21.11.2016
22:00:06
Идея проста - проводим вакуум - помечаем "дырки" под реюз. Компактор производит обновления записей находящихся в "конце" таблицы... они перетекают в дырки... Отрезаем вакуумом с конца пустоту... и так пока дыры не кончатся

https://habrahabr.ru/post/169939/

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