@pgsql

Страница 629 из 1062
Айтуар
11.01.2018
08:58:04
честно говоря, у меня есть подозрение, что что-то с хостом vmware, на котором виртуалка. но его логи не признаются в этом)
У меня тоже не признавались. ) Но потом просто не осталось других причин. И тоже у них СХД IBM была.

Denis
11.01.2018
08:59:22
не. я имел ввиду опустошить своп. swapoff; swapon сделать
это я тоже сделал. и выкрутил vm.swapinness = 1

Google
Denis
11.01.2018
09:40:12
очень похоже на переполнение счётчика транзакций: https://edu.postgrespro.ru/dba2/dba2_06_autovacuum.pdf в Postgres Pro Enterprise решили эту проблему путём 64-разрядного счетчика транзакций: https://postgrespro.ru/products/postgrespro/enterprise
Да вряд ли, там бы вся база в тыкву превратилась. А в базе смешные объемы, нагрузка на чтение, регулярный автовакуум (freeze). Да и первое, что я сделал - это пересобрал статистику и обновил карту видимости - это никак не помогло.

Alexander
11.01.2018
09:57:42
Я тут недавно спрашивал, что будет, если папочку data скопировать на другой сервер той же версии на той же операционке. Короче, работает. А теперь вопрос с уважаемому сообществу: как вы спасаетесь от смерти диска на сервере? RAID-1, несколько реплик и смена мастера? Религия?

Nikolai
11.01.2018
09:58:13
несколько реплик и смена мастера ssd в raid1 жалко

Alexander
11.01.2018
09:58:41
А почему жалко?

Nikolai
11.01.2018
10:02:20
дорого

а при отказе контроллера ещё и бесполезно)

но я не уверен что наш опыт - это лучшие практики интересно послушать ребят с инсталляциями хотя бы по несколько ТБ

Alexander
11.01.2018
10:09:40
А если Software RAID?

Nikolai
11.01.2018
10:12:30
мы на пластинках крутим, на уровне гипервизора где есть хардварные рейды нормальные - их, где их нет - софтварные пару раз пригождалось но пластинки дешевые

да и то, для файлопомоек сейчас развертываем cross-datacenter реплики без всяких рейдов, 4х3ТБ + ssd-кеш и поехали)

Alexander
11.01.2018
10:15:46
Понятно, спасибо за информацию. А есть кто-то, кто использует автоматический failover?

Nikolai
11.01.2018
10:54:57
в текущих развертываниях - софт а так ещё был опыт с сachecade на Dell perc.

Google
Nikolai
11.01.2018
10:57:37
он работал и был неплох, но чистые ssd заметно быстрее :)

Alex
11.01.2018
11:24:53
своп нужен, он позволяет убрать хлам из памяти и разгрузить её для кеша
а сколько надо делать своп для сервака с 3 TB памяти?

6 TB %)?

Darafei
11.01.2018
11:26:33
применить cost based optimization

Vadim
11.01.2018
11:26:49
6 TB %)?
Зачем больше 3тб?)

Alex
11.01.2018
11:27:03
действительно

Darafei
11.01.2018
11:27:07
если он ещё и грузится по сети и дисков в нём нет, то можно и без свопа

Anton [Mgn, az09@osm]
11.01.2018
11:29:21
и без кнопки резет

Darafei
11.01.2018
11:30:37
ну, какая-нибудь реплика на tmpfs для страшных отчётов - почему нет?

Sergey
11.01.2018
13:51:17
Я тут недавно спрашивал, что будет, если папочку data скопировать на другой сервер той же версии на той же операционке. Короче, работает. А теперь вопрос с уважаемому сообществу: как вы спасаетесь от смерти диска на сервере? RAID-1, несколько реплик и смена мастера? Религия?
x3 replication. Master + slave на примерно таком же hardware + slave на другом hardware. Чтоб не словить например систематическую ошибку на одной и той же модели дискового контроллера. Или почти одновременный выход из строя дисков.

Аггей
11.01.2018
13:53:40
Шучу конечно. Просто интересно, что там у вас в бд

Sergey
11.01.2018
13:55:18
Ещё репликация между цод. Желательно СХД целиком и ещё 1 на уровне бд. И все это для сайта визитки
Само собой. Нет смысла спалить все три сервера в одной стойке. ЦОД-ЦОД-Офис

Аггей
11.01.2018
13:56:29
У меня прод пока мало защищен. Репликация в пределах цод. И реплика на уровне схд в другой цод

На случай катастрофы

Vadim
11.01.2018
14:00:33
А почему на уровне СХД?
наверное услугу цод предоставляет поэтому)

Аггей
11.01.2018
14:01:28
На тот момент когда это делали - не было достаточных ресурсов для настройки и поддержание программных вариантов. Поэтому купили ibm xiv

наверное услугу цод предоставляет поэтому)
Разные цод, никак юридически и политически не связанные

Google
Аггей
11.01.2018
14:02:43
В разных регионах страны

Vadim
11.01.2018
14:03:12
В разных регионах страны
ээм, одной страны?)

как они могут быть не связаны политически?)

Yaroslav
11.01.2018
14:03:39
Все привет , можете подсказать : Как в функции можно выполнить селект , результат сохранить в список , затем пробежаться по нему и выполнить еще что либо. Сейчас у меня получается только сохранить одно значение в переменную, объявим перед этим ее. CREATE OR REPLACE FUNCTION test() RETURNS INTEGER AS $$ DECLARE a INTEGER; BEGIN SELECT id INTO a FROM request; RETURN a; END; Хотелось бы что бы возможно select a,b,c from request Сохранить это все в массив объектов и по нему интерироваться

Аггей
11.01.2018
14:04:46
ээм, одной страны?)
Да. Закон не позволяет делать другую ). Политически - имею ввиду корпоративные связи. Я бы сказал это цоды конкурентов

Yaroslav
11.01.2018
14:05:37
курсор?
похоже то что нужно , сейчас почитаю

Спасибо всем ответившим , обычный for in select помог мне , но зато узнал про курсоры ,) DO $$ DECLARE rec RECORD; BEGIN FOR rec IN SELECT id from request LOOP RAISE NOTICE 'Id: %', rec.reqId; END LOOP; END; $$

Just
11.01.2018
18:50:52
всем привет, долго туплю уже, упростил запрос, но все равно ошибка, может кто подскажет что тут не так? UPDATE daily_entrance SET daily_entrance.all=i.a1 FROM (select 11 a1, '2018-01-12' d1) i WHERE i.d1=daily_entrance.day;

Yaroslav
11.01.2018
18:52:38
"SET daily_entrance.all = ..." -> "SET all = ..."

Just
11.01.2018
18:53:22
Yaroslav
11.01.2018
18:56:33
не помогло
А ошибку Вы нам не покажете? ;)

Just
11.01.2018
18:57:36
А ошибку Вы нам не покажете? ;)
сейчас тогда ещё кое-что проверю

Yaroslav
11.01.2018
18:58:12
сейчас тогда ещё кое-что проверю
Wut?! Ошибку покажите, вот и всё.

Just
11.01.2018
19:02:05
Wut?! Ошибку покажите, вот и всё.
UPDATE daily_entrance SET all_=i.a1 FROM (select 11 a1, '2018-01-12' d1) i WHERE i.d1=daily_entrance.day; ошибка ERROR: failed to find conversion function from unknown to date

Anton [Mgn, az09@osm]
11.01.2018
19:02:07
Just
11.01.2018
19:03:06
и что не так в моем запросе тогда?)

Google
Yaroslav
11.01.2018
19:03:46
и что не так в моем запросе тогда?)
UPDATE daily_entrance SET all_ = i.a1 FROM (select 11 AS a1, '2018-01-12'::date AS d1) i WHERE i.d1 = daily_entrance.day;

Anton [Mgn, az09@osm]
11.01.2018
19:04:08
Для начала выполняется ли запрос без апдейта?

Just
11.01.2018
19:04:38
UPDATE daily_entrance SET all_ = i.a1 FROM (select 11 AS a1, '2018-01-12'::date AS d1) i WHERE i.d1 = daily_entrance.day;
да, тоже понял, что это ж не mysql, где можно просто так дату в скобках написать

Anton [Mgn, az09@osm]
11.01.2018
19:06:34
Вообще к чему тут подзапрос (или что за конструкция в скобках)? Или это упрощение чего-то более сложного?

Just
11.01.2018
19:07:01
правда там этот запрос все равно не работает, а ошибку выдает стандартную, но это уже не по теме группы

Yaroslav
11.01.2018
19:07:20
да, тоже понял, что это ж не mysql, где можно просто так дату в скобках написать
А зачем такие сложности? Почему не просто: UPDATE daily_entrance SET all_ = ? WHERE day = ?;

Just
11.01.2018
19:07:20
Anton [Mgn, az09@osm]
11.01.2018
19:07:56
11 в set, дату в where... профит!))

Just
11.01.2018
19:08:48
11 в set, дату в where... профит!))
если б так можно было, я б так и сделал, но запрос с group by

Anton [Mgn, az09@osm]
11.01.2018
19:09:27
Тогда cte сверху. Всегда так делаю

Just
11.01.2018
19:10:30
Тогда cte сверху. Всегда так делаю
проблема же все равно не в этом, но спасибо, штука интересная

Alik
11.01.2018
19:13:40
Кто-нибудь пихал hunspell_ru в докер контейнер с постгресом? Поделитесь, пожалуйста, dockerfile-ом.

Just
11.01.2018
19:58:26
Так помогло?
для pg да, для mysql нет

Artem
12.01.2018
07:15:37
Здравствуйте, друзья. Подскажите, где лежит доступный мануал по конфигурации сервера?

Аггей
12.01.2018
07:17:21
У postgres очень качественная официальная документация

Konstantin
12.01.2018
08:03:03
Всем привет, подскажите пожалуйста. чтоб имспользовать dblink нужны какие-то дополнительные телодвижения? устанавливать расширения итп..? ERROR: function dblink(text, text) does not exis

Nikolay
12.01.2018
08:03:42
dblink пора считать deprecated. Лучше использовать postgres_fdw

Google
Nikolay
12.01.2018
08:04:07
Но если приспичило — `create extension dblink;`

Konstantin
12.01.2018
08:05:01
да нет лучше идти в ногу со временем) спасибо, сейчас погуглю

Nikolay
12.01.2018
08:05:33
Import foreign schema заодно гуглите, упростит жизнь

Nikolay
12.01.2018
08:08:43
Np

Konstantin
12.01.2018
08:26:50
а подскажи еще пожалуйста как мне установить на сервак расширение? PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit ?

Sergey
12.01.2018
08:35:28
Либо пакетным менеджером, либо configure/make/create extension

Konstantin
12.01.2018
09:15:53
Либо пакетным менеджером, либо configure/make/create extension
спасибо, подожду админов, чтоб ничего не сломать)

Artem
12.01.2018
09:24:58
Привет, создают ли какую-то нагрузку создаваемые кастомные типы - если ли какие-то ограничения по их кол-ву. К примеру нормальная ли практика одна процедурная функция которой нужно возвращать SETOF будет использовать свой ТИП.

Kirill
12.01.2018
09:29:17
Коллеги, подскажите. При сохранении в jsonb меняется порядок ключей, а при сохранении массива select '[{"bbb": "foo", "a":"foo"},{"a":"bar"},{"a":"baz"}]'::jsonb всегда ли jsonb будет хранить порядок элементов в массиве? Или это больше про спецификацию json?

Kirill
12.01.2018
09:31:51
В спецификации json ключи неупорядочены.
ага, это про ключи, а вопрос про value, который является массивом. Или в изнанке это и есть пары key -> value ?

Andrey
12.01.2018
09:31:56
А элементы массива упорядочены

Kirill
12.01.2018
09:32:21
ок спасибо

Евгений
12.01.2018
13:30:01
Добрый деньпод лицензию СУБД Postgres Pro Certified на 1 ядро х86 попадают же фьв 64 разрядные ядра?

Vadim
12.01.2018
13:30:28
а как иначе))

Anna
12.01.2018
14:49:10
Чуви, а что почитать б про йоба-оптимизацию БД?

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