@pgsql

Страница 367 из 1062
Konstantin
15.06.2017
11:06:44
покажите, что у вас в pg_database
postgres=# SELECT datname FROM pg_database; datname —--------- template0 postgres template1

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

Петр
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_production; ERROR: duplicate key value violates unique constraint "pg_database_datname_index" DETAIL: Key (datname)=(gitlabhq_production) already exists.

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;

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

вроде как ничего нового

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

Shaz
15.06.2017
14:47:02
Я только про postgres же говорю, что значит - всего этого?
postgres + gitlab в одном контейнере а файлы БД на NFS?

Konstantin
15.06.2017
14:50:25
postgres + gitlab в одном контейнере а файлы БД на NFS?
да, но вручную сейчас всё делаю

просто поднял бд и с консоли сижу

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

Konstantin
15.06.2017
15:30:42
до этого случая докер-контейнер уже рестартили? и что там прописано в dokerfile ?
Да пол года жил, рестартил и из розетки выдергивал комп, все пережил), а тут что-то случилось

Там 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
Ну можно к руководству обратится, в нормальных конторах обычно не жалеют средств на повышение квалификации
Только обязывают работать x времени... или частично компенсировать при увольнении

Darafei
16.06.2017
05:15:32
Только обязывают работать x времени... или частично компенсировать при увольнении
в нормальных так не делают. (из нормальных ты сам обычно не хочешь увольняться :)

Артур
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
Коллеги, добрый день,

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

Vladislav
16.06.2017
06:22:18
nullable int же
вот только коалеске возвращает строку

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
Есть список таблиц, около 120. Как можно сразу для всех таблиц из списка добавить Primary key
а как именно "добавить" - там уже есть поле, или его ещё сгенерировать надо?

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

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!!')) будет работать

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
Как частичные индексы помогут проверить уникальность и сохранить целостность всей таблицы?
берём два поля одно из них может быть NULL. Строим индекс уникальности по двум полям там где второе поле не NULL, и индекс уникальности по одному полю там где второе поле NULL. В итоге будут два индекса, но на каждую строку будет использоваться только один из них

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
Видимо про переходы доклад
В том-то и дело, что не про переходы

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