@pgsql

Страница 129 из 1062
Yury
20.10.2016
09:53:16
время поменялось

кажется не самая сложная задача это исправить... будете патч писать?

Darafei
20.10.2016
09:55:31
Yury
20.10.2016
09:56:01
я попробую тестануть, может там особо лучше не станет.

Google
Darafei
20.10.2016
09:57:50
скорее меня достанет отсутствие всех функций из math.h :)

Yury
20.10.2016
09:58:07
в личку огласите список

Vadim
20.10.2016
10:19:32
на Винде у постгреса проблемы есть какие-то? с кодировкой вроде?

Anatoly
20.10.2016
10:20:14
не замечал

Slava
20.10.2016
10:21:29
нет винды - нет проблем

Azat
20.10.2016
10:21:43
плюсую!

Аггей
20.10.2016
10:24:04
Vadim
20.10.2016
10:24:17
почему?

Аггей
20.10.2016
10:24:57
Потому что дольше 30 секунд

Free0N
20.10.2016
10:35:29
скорее всего старый вопрос, но чет не получилось загуглить. А вопрос такой: на просторах сети довольно часто советуют выполнять vacuum на постоянной основе. При выполнении vacuum-а, на сколько я понимаю, БД лочится и работа с ней не возможна. Первое, что приходит в голову, - запилить второй серв с репликой и делать vacuum поочередно на сервах соответственно меняя master/slave. Вот только непонятно - как это с репликой работать будет? Или я совсем не в ту сторону смотрю?

Петр
20.10.2016
10:36:37
настройте автовакуум

Free0N
20.10.2016
10:37:10
он выполняет те же функции, что и vacuum full?

Andrey
20.10.2016
10:37:32
Нет

Google
Free0N
20.10.2016
10:38:41
ок, как же тогда делать vacuum "по шедулеру" и при этом не терять БД?

Alex
20.10.2016
10:40:24
Иногда автовакуума недостаточно в случае большого количества часто изменяемых таблиц. Он просто их не успевает обойти. И поэтому вакуум необходимо запускать вручную.

Dmitry
20.10.2016
10:40:32
настройте автовакуум
что вы под этим подразумеваете?

Петр
20.10.2016
10:41:28
если вы хотите высвободить место, то делайте вакуум фулл, а еще лучше используйте pg_compactor или как он там назывался

Alex
20.10.2016
10:42:14
Делать вакуум фул можно только на ноутбуке - в серьезных организациях за это выгоняют

Петр
20.10.2016
10:42:49
потому что блочит

Free0N
20.10.2016
10:43:27
:) печаль-беда. Я как раз и пытаюсь понять, как бы так извернуться, чтобы и БД не лочилась, и vacuum full делать можно было

Alex
20.10.2016
10:43:32
долгая операция, блокирующая все и вся и бессмысленная при нормально работающем автовакууме

зачем вакуум фул вам?

Free0N
20.10.2016
10:46:59
уменьшение размера БД, за счет чего большая ее часть сможет помещаться в файловый кэш ОС...

бОльшая*

Slava
20.10.2016
10:50:27
вроде бы говорят, что vacuum чистит дырки в таблицах, но фактически место os не возвращает

а именно vacuum full делает это

Roman
20.10.2016
10:52:31
есть pg compactor, который делает это медленее но не блокируя

от postgresql consulting

погуглите

Dmitry
20.10.2016
10:55:19
на вкус и цвет, но я рекомендую https://github.com/reorg/pg_repack

Roman
20.10.2016
10:55:23
ну да, я тонкостей уже не помню, давно использовали, но там довольно гуманно, помню что делали на онлайновых таблицах с довольно интенсивной записью

Google
Dmitry
20.10.2016
10:55:30
многопотоковый + кластер

за 5 лет ни разу не подводил :)

https://github.com/reorg/pg_repack/commit/3b0ef954cf4eaec8576f5b32b22a59c7093db680 - а после этого вообще все идеально

Free0N
20.10.2016
10:57:59
спасибо, попробую

на вкус и цвет, но я рекомендую https://github.com/reorg/pg_repack
чет как-то... Настораживают разные истории о dead lock-ах при использовании этой штуки. Хотя там истории от 14-го года и о фиксах в 1.3.0+, но учитывая что сейчас актуальная 1.3.4...

Yury
20.10.2016
11:58:53
ближайшее время точно не до того :)
ввобщем не так много получается, правда я по сути убрал только лишнюю операцию, а лишнее значение всёравно передаётся. Получается что без 1900-2000ms выполняется, а после моих правок 1749-1800ms

думаю стабильно 1700 получить можно, не слишком большой профит

куда круче было бы какнить SSE заюзать, но это сложнее

Darafei
20.10.2016
12:05:51
ну да, 15% потерь времени, кого они вообще волнуют </sarcasm>

Yury
20.10.2016
12:07:52
для sumX2 я убрал его, могу счас тестануть если вообще выкинуть

Yury
20.10.2016
12:08:33
Execution time: 1474.763 ms

интересный результат...

это clang если что

Darafei
20.10.2016
12:10:33
не важно, там стоит иф, а иф - это бранчинг

а бранчинг на горячих путях выполнения - зло

Yury
20.10.2016
12:11:04
ага видать ещё и кешмис

do {} while(0) вроде все уже научились верно воспринимать

Darafei
20.10.2016
12:13:15
в общем, много скелетов в простой математике в постгресе

Google
Darafei
20.10.2016
12:22:37
а постгрес на C99 написан?

Constantin
20.10.2016
12:23:46
нет

Darafei
20.10.2016
12:27:09
а патчи на его основе принимают? а то можно ведь просто из FPU overflow читать, и не городить условий https://www.gnu.org/software/libc/manual/html_node/Status-bit-operations.html

Constantin
20.10.2016
12:33:42
условия всё равно придётся городить

FPU бывают разные

Darafei
20.10.2016
12:35:28
C99 обещает, что оно будет работать по IEEE754

Dmitry
20.10.2016
12:37:33
в постгрес ansi c89

Code in PostgreSQL should only rely on language features available in the C89 standard.

Admin
ERROR: S client not available

Dmitry
20.10.2016
12:39:20
https://www.postgresql.org/docs/9.6/static/source-conventions.html

Darafei
20.10.2016
12:40:30
Features from later revision of the C standard or compiler specific features can be used, if a fallback is provided.

Dmitry
20.10.2016
12:41:12
и какой же фолбек будет для IEEE754?

Darafei
20.10.2016
12:41:53
а хоть теперешний

Dmitry
20.10.2016
12:42:03
но тогда не будет никакого смысла

смысл с99 в том, чтобы писать на с99

Darafei
20.10.2016
12:43:09
смысл будет в execution speed на современных компиляторах

Yury
20.10.2016
12:44:11
проблемма в том что MSVC не подерживает и не будет подерживать С99 так он не совместим с С++.

в последнее время больше разговоров о том что бы перейти на С++

Constantin
20.10.2016
12:46:34
главное чтобы без фолбека на Си :)

Darafei
20.10.2016
12:46:40
окей, C11?

Google
Yury
20.10.2016
12:48:08
окей, C11?
MSVC суппортит только C89.

Darafei
20.10.2016
12:54:38
MSVC суппортит только C89.
C99 Conformance Visual Studio 2015 fully implements the C99 Standard Library, with the exception of any library features that depend on compiler features not yet supported by the Visual C++ compiler (for example, <tgmath.h> is not implemented).

интернеты пишут, флоаты умеет

Yury
20.10.2016
13:07:43
он поддерживает C99 только в той мерее что бы не противоречить С++, к примеру нету массивов на стеке...

на счёт float не знаю.

Dmitrii
20.10.2016
13:16:07
Интересно, реально ли написать GostgreSQL?

:)

Yury
20.10.2016
13:16:49
думаю даже кто то уже начал

но я ратую за Rust

Dmitrii
20.10.2016
13:17:09
Я бы посмотрел, что бы из этого получилось

Yury
20.10.2016
13:17:12
по некоторым причинам подходит больше

на самом деле язык тут важен процентов на 30

не более

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

Alex
20.10.2016
15:48:41
C89 standard

AbiGeuS
20.10.2016
17:39:15
Добрый вечер. Может кто подсказать по поводу mamonsu? Установил на сервер с постгресом, сделал все как по доке, импортнул конфиг в заббикс . Данные не поступают. Попробовал вручную с заббикса делать zabbix_get -s -k key - получаю отве в виде Error code 400. Этот же параметр через mamonsu agent get-metric достается нормально.

Анна
20.10.2016
17:45:09
Добрый вечер

Мне дали тестовое задание не подскажете есть ли возможность выполнять запросы онлайн? Или только программу скачать какую

Sqllite скачала, пока не разобралась

Aleksei
20.10.2016
17:48:54
Добрый вечер
не очень понятно, что имеется в виду. нужно сделать базу, там таблицы, к ним запросы? тогда нужно установить себе postgresql и делать все, что надо.

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