
Айтуар
11.01.2018
08:58:04

Denis
11.01.2018
08:59:22

Alexander
11.01.2018
09:33:10

Google

Denis
11.01.2018
09:40:12

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?

Dmitry
11.01.2018
10:52:44

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
6 TB %)?

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

Vadim
11.01.2018
11:26:49

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 для страшных отчётов - почему нет?

Айтуар
11.01.2018
12:32:17

Sergey
11.01.2018
13:51:17

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

Sergey
11.01.2018
13:55:18

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

Sergey
11.01.2018
13:58:45

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
Сохранить это все в массив объектов и по нему интерироваться

Vadim
11.01.2018
14:04:00

Darafei
11.01.2018
14:04:27

Alexander
11.01.2018
14:04:30

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

Vadim
11.01.2018
14:05:05

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

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

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

Just
11.01.2018
19:04:38

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

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

Yaroslav
11.01.2018
19:07:20

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

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

Just
11.01.2018
19:10:30

Anton [Mgn, az09@osm]
11.01.2018
19:11:07

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

Just
11.01.2018
19:58:26

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

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

Darafei
12.01.2018
07:21:06

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 заодно гуглите, упростит жизнь

Konstantin
12.01.2018
08:06:41

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

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?

Andrey
12.01.2018
09:30:52

Kirill
12.01.2018
09:31:51

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
Чуви, а что почитать б про йоба-оптимизацию БД?