
Konstantin
14.06.2017
21:37:08
пипл, подскажите с pgsql - такое вообще лечится?
duplicate key value violates unique constraint "pg_database_datname_index"
перезапустил сервер и бд пропала, при создании пишет что уже есть.

Vladislav
14.06.2017
21:39:01
О, в вертике такое ловил.
Только непонятно, причем тут пропажа БД...
У меня срабатывает констрейнт при джойне на это поле, хотя причем тут джойн, я так и не понял...

Konstantin
14.06.2017
21:41:45
я с postgres почти не имею опыта и сходу такой косяк))

Google

Vladislav
14.06.2017
21:43:00
Вроде логика, если есть справочник, в котором название одинаковое, а айди разные и при этом есть констрейты. Тогда вылезает такая ошибка, даже при обычных селектах

Konstantin
14.06.2017
21:43:43
createdb: database creation failed: ERROR: duplicate key value violates unique constraint "pg_database_datname_index"
DETAIL: Key (datname)=(gitlabhq_production) already exists.
куда с этими индексами то рыть?

Vladislav
14.06.2017
21:44:03
Есть команда, позволяющая отключить эту проверку, но только под dbadmin и только в рамках текущей сессии. (это применительно к вертика)

Konstantin
14.06.2017
21:44:29
а что такое вертика?

Vladislav
14.06.2017
21:44:44
Бд
От создателей постгресса, между прочим ?

Fike
15.06.2017
08:11:09
в первый раз createdb прошла успешно?

Konstantin
15.06.2017
09:57:19

Vladislav
15.06.2017
09:58:03
что-то мне кажется, вы там повторную установку для гитлаба запустили...
Кстати, а как гитлаб ставили? из репы или пакета?

Google

Konstantin
15.06.2017
10:00:57
Да просто сервер перезапустил, не более
Omnibus

Vladislav
15.06.2017
10:03:10
все равно непонятно
просто на днях ставил своим гитлаб, если ставить из репы, то там поднимается свой постгре и вопрос в следующем, пропала база во встроенном или вы меняли место дислокации на свой постгре сервер?

Konstantin
15.06.2017
10:11:19

Vladislav
15.06.2017
10:11:37
ну так ошибка
если руками не получается, полную команду и полный вывод
сомневаюсь, что там так же...

Konstantin
15.06.2017
10:12:24
Ладно, там критичных данных нет, снесу. Вопрос в том что это было и как траблшутить - вот не понял

Fike
15.06.2017
10:13:44
ты скорее всего вторым вызовом createdb затер все, что было. лучше в профильном чате спросить, там есть люди, которые не первый год внутрянку ковыряют

Konstantin
15.06.2017
10:14:19

Al
15.06.2017
14:24:29

Konstantin
15.06.2017
14:25:37

Al
15.06.2017
14:28:36

Konstantin
15.06.2017
14:29:14
да я что-то нагуглить не могу, реально проблема редкая

Al
15.06.2017
14:30:29

Konstantin
15.06.2017
14:39:36

Al
15.06.2017
14:52:38
спасибо
давай уточним это на малинке?

Google

Konstantin
15.06.2017
14:52:55
нет
я видел тот топик)
у меня тоже самое

Al
15.06.2017
14:54:22
https://www.postgresql.org/message-id/4B994FC0.1030801%40grammatech.com
тут он вроде ее бросает и потом она открывается нормально

Konstantin
15.06.2017
14:57:21
он её удаляет и создаёт заново, но если там что-то есть - я же потеряю?
а по первой ссылке не то, там просто одновременно создание из скрипта происходит и ругается

Al
15.06.2017
15:04:30


Konstantin
15.06.2017
15:05:59
да, я тоже не спец, делаю бэкап уже)
я не спец по постгре. вроде как он ее просто бросит а не удалит. а потом назад поднимет. хотя просто сделай копию на всякий случай и попробуй
postgres@f736bd5459fe:~$ createdb gitlabhq_production
ERROR: duplicate key value violates unique constraint "pg_database_datname_index"
DETAIL: Key (datname)=(gitlabhq_production) already exists.
STATEMENT: CREATE DATABASE gitlabhq_production;
createdb: database creation failed: ERROR: duplicate key value violates unique constraint "pg_database_datname_index"
DETAIL: Key (datname)=(gitlabhq_production) already exists.
postgres@f736bd5459fe:~$
postgres@f736bd5459fe:~$ dropdb gitlabhq_production
ERROR: database "gitlabhq_production" does not exist
STATEMENT: DROP DATABASE gitlabhq_production;
dropdb: database removal failed: ERROR: database "gitlabhq_production" does not exist
я хз)

Al
15.06.2017
16:01:08

Fike
15.06.2017
16:01:19
у тебя судя по всему в системной таблице осталась строчка, а самой базы уже нет

Vladislav
15.06.2017
16:11:48
на это как бы системный констрейт намекает
а что список БД показывает?

Konstantin
15.06.2017
16:15:08

Konstantin
15.06.2017
16:15:36
База шрёдингера

Vladislav
15.06.2017
16:15:38
тогда ищи системный констрейт "pg_database_datname_index"

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

Google

Konstantin
15.06.2017
16:15:51
ой, не то

Vladislav
15.06.2017
16:15:53
в этой таблице ищи намек на свою БД и стирай все

Fike
15.06.2017
16:16:02
это тебе не поможет, у тебя физически строка в базе осталась
реиндекс и вакуум дойдут, увидят что она существует и ничего не изменят

Konstantin
15.06.2017
16:16:33
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
—---------+----------+----------+---------+-------+---------------------—
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | postgres=CTc/postgres+
| | | | | =c/postgres
(3 rows)
да я не тот вывод кинул, вот список

Vladislav
15.06.2017
16:17:23
у меня подобная фигня была в бд для жиры, только не БД терялась, а немного другое, в результате в двух таблицах концы удалял

Admin
ERROR: S client not available

Vladislav
15.06.2017
16:17:41
по командам тут другие должны помочь, ибо я в пг сижу через dbvis
кстати, версия случайно не 9.5?

Konstantin
15.06.2017
16:21:22
9,6
была раньше 9.5, даже папка осталась с данными

Vladislav
15.06.2017
16:21:54
апгрейд делали?
и после все накрылось?

Konstantin
15.06.2017
17:43:41
и после все накрылось?
прошу прощения, IDE меня украл. Апгрейд автоматом делался, давно уже. в postgres 2 папки, под 9,5 и 9,6

Yuri
16.06.2017
05:45:17
в поле могут быть буквенные и цифровые значения типа "1а", "1-б", "а", "13". Как мне выбрать только строки в которых только буквы, без цифр и дефисов и других не буквенных символов?
пытался так name like '%[а-я]%' and name like '%[^0-9]%'
кхм, name like '%[а-я]%' and name not like '%[0-9-]%'?

Al
16.06.2017
05:51:30

Google

Yuri
16.06.2017
05:54:10
все строки у которых только буквенные значения в этом поле

Vladislav
16.06.2017
05:56:17
а like поддерживает regex?

Konstantin
16.06.2017
05:56:44
regexp_like
@Jazzis18 а база какая?

Al
16.06.2017
06:04:09

Konstantin
16.06.2017
06:04:33
миллион не так уж и много

Al
16.06.2017
06:05:06
конечно же нет, пока тебе не нужно каждую строку неизвестной длинны проверять на исключения

Yuri
16.06.2017
06:05:32
строк не так уж и много, всего 1696276

Al
16.06.2017
06:05:50
имхо но подход не правильный скорее всего. очередное натягивание совы на глобус

Yuri
16.06.2017
06:06:01
поч вечно?

Konstantin
16.06.2017
06:07:17

Yuri
16.06.2017
06:08:18
mssql

lost
16.06.2017
15:49:01

Al
16.06.2017
15:56:05

lost
16.06.2017
15:56:38
Мысль хорошая

Konstantin
16.06.2017
16:09:05
А может индекс по регулярке сделать, если надо часто тянуть?

Al
16.06.2017
16:10:07
вообще это типа полноцеткстового поиска получается. так что проще заранее сортировать чем потом нагружать базу

Fike
16.06.2017
16:10:15
судя по тому, что человеку нужны числа, он какое-то время назад начал складывать числа и строки в одну колонку
если это так, то, конечно, надо начать разгребать конюшни