
Konstantin
15.06.2017
11:06:44

Петр
15.06.2017
11:08:11
попробуйте пересобрать индекс
или вакуум фулл

Konstantin
15.06.2017
11:11:35

Петр
15.06.2017
11:12:01
да, подключитесь к postgres и провакуумируйте таблицу

Google

Konstantin
15.06.2017
11:12:58
ничего не происходит
ну я собственно это делал из pgadmin вчера, сейчас с консоли

Петр
15.06.2017
11:15:08
что вы делали? покажите вывод

Konstantin
15.06.2017
11:17:07
postgres@09a0e0860dc8:~$ psql postgres
psql (9.6.1)
Type "help" for help.
postgres=# reindex database postgres;
REINDEX
postgres=# vacuum full analyze;
VACUUM
postgres=#

Петр
15.06.2017
11:18:03
а теперь покажите вывод того, на чем у вас ошибка

Konstantin
15.06.2017
11:19:52
postgres=# create database gitlabhq_production2;
CREATE DATABASE
postgres=#
тоже самое

Петр
15.06.2017
11:21:57
странно, а если
DROP INDEX pg_catalog.pg_database_datname_index;
CREATE UNIQUE INDEX pg_database_datname_index
ON pg_catalog.pg_database USING btree (datname)
TABLESPACE pg_global;

Konstantin
15.06.2017
11:24:41

Darafei
15.06.2017
11:26:58
PG Day '17: 5-7 июля, Санкт-Петербург - https://pgday.ru/ru/2017

Петр
15.06.2017
11:29:33
попробуйте в однопользовательском режиме

Lexa
15.06.2017
11:36:40
Добрый день! подскажите пожалуйста как узнать данные по репликации (задержка в секундах и т.п)

Google

Петр
15.06.2017
11:37:06
или попробуйте
reindex system postgres;
reindex index pg_database_datname_index;

Konstantin
15.06.2017
11:47:00

Fedor
15.06.2017
11:48:09
https://gist.github.com/dansimau/1582655

Lexa
15.06.2017
11:57:05
Если данные по таблицы пустые
select * from pg_catalog.pg_stat_replication;
pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_location | write_location | flush_location | replay_location | sync_pr
iority | sync_state
—---+----------+---------+------------------+-------------+-----------------+-------------+---------------+--------------+-------+---------------+----------------+----------------+-----------------+------—
—-----+------------
(0 rows)

Петр
15.06.2017
12:05:47
накат логами идет чтоли?
попробуйте тогда вычислять дельту между
pg_current_xlog_location() на примари и
pg_last_xlog_replay_location() на реплике

Lexa
15.06.2017
12:09:30
да,
asoup=# select * from pg_current_xlog_location();
ERROR: recovery is in progress
HINT: WAL control functions cannot be executed during recovery.
asoup=# select * from pg_last_xlog_replay_location();
pg_last_xlog_replay_location
—----------------------------
772/B0C64218
(1 row)

Петр
15.06.2017
12:10:48
Я же написал, на примари

Lexa
15.06.2017
12:16:10
да. не заметил(, спасибо

Konstantin
15.06.2017
12:25:08
и тут вопрос не сколько в данных, там ничего критичного нет, а в том - что это были и как чинить
из того что было:
сервер был под нагрузкой, по cpu\ram
postgres переносился на другую ноду, где те же данные, но по NFS
вроде как ничего нового

Shaz
15.06.2017
12:43:50

Konstantin
15.06.2017
14:00:17
Я только про postgres же говорю, что значит - всего этого?

Shaz
15.06.2017
14:47:02

Konstantin
15.06.2017
14:50:25
просто поднял бд и с консоли сижу

Google

Shaz
15.06.2017
14:59:53
до этого случая докер-контейнер уже рестартили? и что там прописано в dokerfile ?

Konstantin
15.06.2017
15:30:42
Там entrypoint, создаёт каждый раз базу и юзера, всё стандартно

Anton [Mgn, az09@osm]
15.06.2017
19:15:46
а вот например на ОдессаЖС промокоды бывают

Anatoliy
15.06.2017
19:46:02
хочется но дорого и далеко
Ну можно к руководству обратится, в нормальных конторах обычно не жалеют средств на повышение квалификации

Wom
15.06.2017
19:47:02
да и путин сегодня сказал, что кризис закончился

Dmitriy
15.06.2017
20:20:04
Он и не начинался. Вы гос. долг сша видели?
Вот там кризис

Аггей
15.06.2017
20:21:38

Darafei
16.06.2017
05:15:32

Артур
16.06.2017
06:11:16
Напомните пожалуйста как сделать уникальный индекс с учетом null полей.
(В чате было как-то, но к сожалению не запомнил)

Артур
16.06.2017
06:11:53
есть nullable поля a,b,c,d таблицы mytable
нужен уникальный индекс по этим 4 молям с учетом null

Darafei
16.06.2017
06:14:06
а что такое тогда "уникальный с учётом null"?

Артур
16.06.2017
06:14:51
a = 1 ,b = null, c = null, d = null
должен быть уникален
по факту когда стандартный уникальный индекс делаешь по этим 4м полям - он не ругается и создает 2 таких записи
a = 1 ,b = null, c = null, d = null
должен быть уникален
a = 1 ,b = 2, c = null, d = null
a = 1 ,b = 2, c = 1, d = null
a = 1 ,b = 2, c = 1, d = 4
Все они не должны повторяться
Есть вариант SELECT делать перед вставкой, но хочется защиты на уровне БД

Darafei
16.06.2017
06:18:12
уникальный индекс по coalesce(a, '!!NULL!!'), coalesce('b', '!!NULL!!')... решит задачу?

Google

Артур
16.06.2017
06:20:46
Так?
CREATE INDEX mytable_a_b_c_d_idx ON mytable ( coalesce(a, '!!NULL!!'), coalesce('b', '!!NULL!!'), coalesce('c', '!!NULL!!'), coalesce('d', '!!NULL!!'))

Vladislav
16.06.2017
06:21:19
а то что разные типы данных, никого не смущает?

Artem
16.06.2017
06:21:39
Коллеги, добрый день,

Артур
16.06.2017
06:21:45

Artem
16.06.2017
06:22:17
Есть список таблиц, около 120.
Как можно сразу для всех таблиц из списка добавить Primary key

Vladislav
16.06.2017
06:22:18

Admin
ERROR: S client not available

Artem
16.06.2017
06:22:39
pglogical очень требует Primary key
Простите, что влез в беседу

Darafei
16.06.2017
06:22:57

Артур
16.06.2017
06:23:08

Vladislav
16.06.2017
06:23:16

Darafei
16.06.2017
06:23:54

Artem
16.06.2017
06:24:10
Можно добавить поле id
Делал через Alter table table-name add column id serial Primary key

Darafei
16.06.2017
06:25:34
Так?
CREATE INDEX mytable_a_b_c_d_idx ON mytable ( coalesce(a, '!!NULL!!'), coalesce('b', '!!NULL!!'), coalesce('c', '!!NULL!!'), coalesce('d', '!!NULL!!'))
тогда выбери какое-нибудь другое значение, которое не встречается в данных и можно приравнять к нуллу. или расширь тип - инт до бигинт, например, или до текста, в coalesce

Артур
16.06.2017
06:26:22
я не могу указать другое значение

Darafei
16.06.2017
06:27:04
CREATE INDEX mytable_a_b_c_d_idx ON mytable ( coalesce(a::text, '!!NULL!!'), coalesce(b::text, '!!NULL!!'), coalesce(c::text, '!!NULL!!'), coalesce(d::text, '!!NULL!!')) будет работать

Артур
16.06.2017
06:27:42

Google

Vladislav
16.06.2017
06:27:54
суровый совет какой-то

Darafei
16.06.2017
06:28:19
принеси лучше! :)
я тоже с удовольствием послушаю :)
а индекс только на вставках конвертить будет, остальное время он просто будет охранять целостность

Vladislav
16.06.2017
06:29:55
тем самым вставка будет еще дольше, не только из-за индекса, но еще и из-за конвертации

Artyem
16.06.2017
06:30:10

Vladislav
16.06.2017
06:30:11
хотя она может быть и крайне мала

Dmitry
16.06.2017
07:02:12
частичные индексы
Как частичные индексы помогут проверить уникальность и сохранить целостность всей таблицы?

Artyem
16.06.2017
07:31:18

Darafei
16.06.2017
07:44:50


Mary
16.06.2017
07:46:22
Приглашаем на главную конференцию по базам данных PG Day’17 Russia, которая пройдет с 5 по 7 июля в Санкт-Петербурге.
? Что такое PG Day'17 Russia?
✅ Это 11 уникальных мастер-классов и свыше 60 докладов по всем ключевым современным СУБД и платформам:
PostgreSQL, Oracle, MySQL, MS SQL Server, 1C, Tarantool, MongoDB
? Мероприятие разбито на три дня. В первый день, 5 июля, вас ждут 11 параллельных тренингов, в ходе которых участники пройдут интенсивное обучение под руководством опытных тренеров. Количество мест на каждый курс строго ограничено: 20 человек максимум. Это обеспечит высокую эффективность обучения и возможность рассмотреть проблемы каждого из участников.
? 6 и 7 июля — дни докладов конференции. Участников ждет более 60 докладов, разбитых на 5 потоков: PostgreSQL, MySQL + no SQL, Oracle + MS SQL, Devops, Computer Science.
pgday.ru

Darafei
16.06.2017
07:55:34
У меня один вопрос: что на конференции про постгрес делают 12 докладов про Oracle?

Wom
16.06.2017
07:56:59
показать как это больно?

Oleg
16.06.2017
07:57:30
Видимо про переходы доклад

Vadim
16.06.2017
07:57:36

Darafei
16.06.2017
07:57:56