
Kuroi
09.06.2016
16:30:12
Скорее всего на эйребнб что-нить рядом отхвачу
Он же на острове будет проходить?

Ruslan
09.06.2016
16:32:52

Kuroi
09.06.2016
16:34:12
Надо подумать

Google

Konstantin
10.06.2016
11:12:16
Блин я хочу на пгдей
Вопрос есть про оптимизацию сортировки в оконной функции

Ruslan
10.06.2016
11:13:57

Konstantin
10.06.2016
11:13:59
Как сделать?
Да хотел бы
Посмотрим
Дорого

Maxim
11.06.2016
16:24:53
коллеги, а как освободить место после передвижения таблиц в другой тейблспейс?
# SELECT pg_size_pretty(pg_tablespace_size('old_transitions'));
pg_size_pretty
----------------
51 GB
(1 row)
но при этом:
/dev/mapper/system-postgresql 394G 350G 25G 94% /var/lib/postgresql
# \db+
List of tablespaces
Name | Owner | Location | Access privileges | Options | Description
-----------------+----------+------------------------------------------------+-------------------+---------+-------------
old_transitions | dbuser | /var/data/postgres/tablespaces/old_transitions | | |
pg_default | postgres | | | |
pg_global | postgres | | | |
(3 rows)

Konstantin
11.06.2016
23:32:06
А чем ты двигал? pg_repack?

Google

Maxim
12.06.2016
06:44:27
Alter tablespace'ом
Ну всмысле сделал тейблспейс на другом диске и в цикле обошел пачку таблиц, сделав им alter tablespace
Теперь у меня есть 68гб на втором диске и нисколько не освободилось на основном

Ryzhikov
12.06.2016
07:13:50
Vacuum?

Maxim
12.06.2016
07:14:04
Неа
Ну всмысле сделал, но не помогло

Vadim
12.06.2016
08:42:21
Место на диске только vacuum full освобождает

Konstantin
12.06.2016
09:03:42
Передвинь обратно, и сделай репак
С указанием целевого таблеспейса

Maxim
12.06.2016
13:51:30
А при передвижении обратно они не станут в два раза больше места занимать?
Ага, станут
Берем гигабайтную таблицу, меняем тейблспейс
Она теперь занимает два гигабайта
Меняем тейблспейс обратно - опа! - три гига

Vadim
12.06.2016
15:45:38
ну сделай ты уже вакум фулл

Maxim
12.06.2016
15:46:20
Не могу, ему места не хватает ;)
A vacuum full по таблицам никак не помогает, кстати

Vadim
12.06.2016
16:39:32
как никак? он сжимает неиспользуемое место и освободит место на диске

Айтуар
12.06.2016
16:51:56
А я думал он копирует таблицу в новые файлы, а старые файлы удаляет.

Ryzhikov
12.06.2016
16:53:16
Создай новую таблицу в свободном тэйблспесе insert select, старую удали ;) - immutability!

Айтуар
12.06.2016
16:55:10
59 гиг таскать? А не быстрее дамп-делет-рестор таблицы?

Maxim
12.06.2016
17:35:06
если б она была одна

Google

Maxim
12.06.2016
17:35:22
там партиции за пять лет
одних только таблиц сотня
а еще индексы
так что дамп-делет-рестор не быстрее

Vadim
12.06.2016
17:38:43

Maxim
12.06.2016
17:39:50
\d transitions_201209
Table "public.transitions_201209"
...
Tablespace: "old_transitions"
но место она занимает все еще в обоих тейблспейсах, несмотря на vacuum full transitions_201209
сейчас передвинул весь датадир на большой медленный диск и делаю там vacuum full по всей базе

Dasha
12.06.2016
22:05:29
Кому интересно - мастер-классы по Постгрес, Голанг, Хайлоад и Реакт в эту субботу http://devconf.ru/ru/schedule/jun18#dbms

ptchol
12.06.2016
22:09:48
а там билеты какие то разыгрывались. разыгрались ?

Dasha
12.06.2016
22:16:17
Еще идет - каждые день в сообществах разыгрываем ? Традиционно..

Dasha
12.06.2016
22:18:59
Если на ЛОРе - есть аккаунт попробуйте там - только я вам этого не говорила.. у нас юбилей - 7лет ..

Yury
13.06.2016
11:15:22
Мне интересен Rust но пока что то глухо с ним в РФ.

Ruslan
13.06.2016
11:20:58

Yury
13.06.2016
11:25:10
вроде бы... лично я рассматриваю Rust как единственный на данный момент вариант для написания ПО похожего на Postgres. Си много неудобств доставляет, C++ кроме своей сложности так же имеет и проблемы. (а рекоммендация писать на нём как Си с классами странна)
Это я всё не для холивара пишу. Просто Rust именно в эту нишу метит.

Ruslan
13.06.2016
11:26:09
просто стало интересно, что уже где то на нем пишут что серьезное

Yury
13.06.2016
11:27:17
Если бы в Си добавили перегрузку, неймспейсы и возможно классы или трайты то я бы почти трудностей не испытывал и с ним. (а лучше ещё и нормальную стандартную библиотеку)
Ну локомотив как был Servo так и остаётся. Парвда тут товарищи активно его в геймдев внедряют. Почти моментально появился биндинг к Vulkan хотя там было много технических проблем и большой объём кода.

Google

Ruslan
13.06.2016
11:33:00
@stalkerg Вы, кстати, поедете на pgday? Что-то здесь про него никто не говорит

Yury
13.06.2016
11:33:59

Ryzhikov
13.06.2016
12:06:05
Yury нужно популяризировать rust, как язык для pg extensions ;)

Ruslan
13.06.2016
12:06:56

Yury
13.06.2016
12:07:09

Ryzhikov
13.06.2016
12:08:18
https://github.com/thehydroimpulse/postgres-extension.rs

Admin
ERROR: S client not available

Yury
13.06.2016
12:08:30
это то да

Ryzhikov
13.06.2016
12:08:39
Как раз на си - страшновато

Yury
13.06.2016
12:09:14
там непонятно, что будет
с памятью
к примеру из-за этого нельзя собрать расширение mingw для postgres msvc.
т.е. примитивные функции работать будут, но вот если где то нужно будет работать с памятью то всё падает.

Ryzhikov
13.06.2016
12:10:22
Вот это и надо придумать для популяризации
Если будут гарантии относительной безопасности ....

Yury
13.06.2016
12:12:19
https://github.com/thehydroimpulse/postgres-extension.rs/blob/master/src/lib.rs — уууу это всё шлак. :(
будет работать только в рамках одной версии.

Ryzhikov
13.06.2016
12:13:03
А как правильно?

Google

Yury
13.06.2016
12:14:40
Любой код который лезет в кишки postgres писать на Си.
Есть расширения которым особо ничего не нужно и там такого кода может вообще не быть но некоторые будет легче писать только на Си либо надо делать парсер заголовков постгреса и генерация биндинга.
Опять же нету API. В postgres расширение виляет всем постгресом.

Alex
13.06.2016
12:14:54
а со скоростью там что ? (не сильно в теме за нишу Rust)

Yury
13.06.2016
12:15:16

Alex
13.06.2016
12:15:28
выглядит интересно конечно..

Yury
13.06.2016
12:15:52
https://github.com/pingcap/tikv вон уже что пишут на нём
Postgres надо переписать с 0. Но непонятно когда и кто на это решится...

Ruslan
13.06.2016
12:21:02

Yury
13.06.2016
12:21:51
об этом говорят многие и давно... болячек у Postgres много и так просто эволюционно они не исправятся.

Ildar
13.06.2016
12:34:59

Yury
13.06.2016
12:35:45

Ildar
13.06.2016
12:40:37
ну попытаться, конечно, можно. Только это займет годы отладки и тестирования, чтобы выкатить релиз уровня постгреса

Pavel
13.06.2016
12:43:05
> Любой код который лезет в кишки postgres писать на Си.
Неужели прямо только на Си ? Даже на Си++ нельзя?

Ildar
13.06.2016
12:47:23

Pavel
13.06.2016
12:48:42
О круто, а что насчет D? Кто-нибудь пробовал писать экстеншены?
В нем тоже вроде как заявляется совместимость библиотек с C

Ildar
13.06.2016
12:59:03
не знаю. Теоретически наверное можно, если сконвертировать заголовочные файлы постгреса и соблюдать те же ограничения, что и для c++
если не всплывет какая-нть бинарная несовместимость на уровне вызова функций или чего-нть подобного