@pgsql

Страница 463 из 1062
lemi
07.09.2017
13:12:49
у меня уже который день сыпятся duplicate keys error в запросе чтото типа insert into record_log(car_id, send_dt) select c.id, timestamp '2017-07-01 16:45:22' from car c where c.id = 1 and not exists (select 1 from record_log where car_id = c.id) по car_id имеется unique index

Игорь
07.09.2017
13:13:00
ага )

Sergey
07.09.2017
13:13:21
У нас доступ через индекс видел то что не мог увидеть sequention scan

Статистика (в бизнес-смысле) стала сама с содой несходиться

Google
lemi
07.09.2017
13:15:33
пересоздал не помогло

Айтуар
07.09.2017
13:15:49
и как проявляется такое действо ?
У меня появилось когда дамп с прода на тесте раскатывал. Там по дублям индекс не смог собраться

raksita
07.09.2017
13:19:06
был уже тут подобный пример

/usr/lib/postgresql/9.6/bin/initdb -D main -k /usr/lib/postgresql/9.6/bin/pgbench -i -s 100 postgres=# select count(*) from pgbench_accounts; count —------— 10000000 (1 row) postgres=# \q postgres@ubuntu:~/9.6$ rm -f main/base/12439/16396.1 postgres@ubuntu:~/9.6$ psql psql (9.6.4) Type "help" for help. postgres=# select count(*) from pgbench_accounts; count —------- 7995392 (1 row) postgres=#

lemi
07.09.2017
13:30:00
наверное стоит добавить что соединения в пуле томката и автокоммит он

Igor
07.09.2017
13:32:31
А насколько плохая идея поднять в продакшене сервак с десятой постгрей? Мне, похоже, понадобится партицирование, а в десятке оно, походу, в разы удобнее

Igor
07.09.2017
13:35:47
релиз аж в августе 2018? :о тогда да, не очень

Sergey
07.09.2017
13:35:51
пересоздал не помогло
Есть amcheck extension https://www.postgresql.org/docs/10/static/amcheck.html И в конце там утверждают что "A REINDEX may not be effective in repairing corruption"

Yuriy
07.09.2017
13:36:08
Igor
07.09.2017
13:36:36


systemd[1]: postgresql-db.service: PID file /var/lib/postgresql/DB/main/postmaster.pid not readable (yet?) after start: No such file or directory

Google
Yuriy
07.09.2017
13:38:08
systemd[1]: postgresql-db.service: PID file /var/lib/postgresql/DB/main/postmaster.pid not readable (yet?) after start: No such file or directory
https://discuss.pivotal.io/hc/en-us/articles/226471668-Understanding-of-the-contents-of-the-two-files-postmaster-opts-and-postmaster-pid

Т.е. systemd матерится что PostgreSQL не стартанул при проверке - pid файлика нету. Потом ещё раз проверил и сказал что он стартанул... ничего странного.

Dmitry
07.09.2017
13:45:04
наверное стоит добавить что соединения в пуле томката и автокоммит он
Причем тут это. У тебя RC между селектом и инсертом. Или у тебя исключительно один поток без конкуренции?

Artem
07.09.2017
13:45:36
а в юните нужно явно его указать PIDFile=/var/lib/postgresql/DB/main/postmaster.pid или нет?
Думаю, да и права бы стоит выставить на него 600

Igor
07.09.2017
13:46:18
Думаю, да и права бы стоит выставить на него 600
кстати из юнта убрал путь до PID и нет больше такого в логах

Artem
07.09.2017
13:46:59
Вообще, постгрес должен вроде сам работать с PID, т.к. запускает WAL, autovacuum и прочие процессы

Igor
07.09.2017
13:48:30
Kirill
07.09.2017
14:12:32
у меня уже который день сыпятся duplicate keys error в запросе чтото типа insert into record_log(car_id, send_dt) select c.id, timestamp '2017-07-01 16:45:22' from car c where c.id = 1 and not exists (select 1 from record_log where car_id = c.id) по car_id имеется unique index
В запросе ошибка, так нельзя проверять. 2 транзакции одновремененно прилетят проверка ничего не найдет, а на момент коммита одна из них отвалится. Ошибка в constraint индексах тут не причем.

Vadim
07.09.2017
14:59:12
https://gyazo.com/b5026bffe04c37c299672e1b593034a8.png
в чем рисовал эту штуку?

Аггей
07.09.2017
14:59:47
gliffy в confluence

Vadim
07.09.2017
15:00:03
как-то визио юзал для схемы инфраструктуры, вообще замучался

gliffy в confluence
сам gliffy платный?

Аггей
07.09.2017
15:02:31
Да. Но я установкой не занималься - у нас другие за atlassian отвечают

Vadim
07.09.2017
15:03:11
ясно, спасибо, у нас такого нет, красиво получилось и быстро

Nikolay
07.09.2017
15:19:26
https://goo.gl/83rf2U

Igor
07.09.2017
16:37:41


Artem
07.09.2017
16:46:13
echo $PGPORT

A.
07.09.2017
16:46:23
5433 (лезет) и 5432(запущен)

Google
Artem
07.09.2017
16:46:36
вы пытаетесь к 5433 а у вас слушает на 5432

https://www.postgresql.org/docs/9.3/static/libpq-envars.html

Igor
07.09.2017
16:48:11
вы пытаетесь к 5433 а у вас слушает на 5432
почему он идёт на 5433? я же просто psql запускаю без параметров

пусто

Artem
07.09.2017
16:53:14
psql не алиас?

~/.pg_service.conf

есть?

Igor
07.09.2017
17:00:28
Artem
07.09.2017
17:01:07
Igor
07.09.2017
17:01:11
~/.pg_service.conf
не находит

Artem
07.09.2017
17:05:02
~/.pgpass

?

Dmitry
07.09.2017
17:05:19
https://goo.gl/83rf2U
костыли :( вместо того чтобы сделать нормальную статитику по планам запроса - снапшопят месиво :(

Igor
07.09.2017
17:09:23
~/.pgpass
нет

Stas
07.09.2017
17:14:38
другая сессия, выше была не рутовая

оно во всех так?

Igor
07.09.2017
17:15:23
оно во всех так?
от постгреса так же

Stas
07.09.2017
17:16:20
ну я к тому что может psql делали в одной, а echo $PGPORT в другой

Google
Stas
07.09.2017
17:16:32
как гипотеза)

عاصم بن حارث
07.09.2017
17:20:58
в косоли, где psql пользуешь, выполни: printenv | grep -i pg и смотри вывод по перем. окруж.

عاصم بن حارث
07.09.2017
17:23:36
значит "энваймент" не виноват ))) Надо искать по конфигам...

Igor
07.09.2017
17:24:53
если указывать порт для psql то прокатывает, не пойму с чего он берёт порт 5433?

Dmitry
07.09.2017
17:28:32
бинарь офийиальный?

дефолтный порт можно помоему при сборке

Igor
07.09.2017
17:29:16
бинарь офийиальный?
с 9го дэбиана дефолтный 9,6 постгрес

عاصم بن حارث
07.09.2017
17:30:05
а где и что копать?
ищи psqlrc, вероятно там прописали :PORT ? это как вариант

Igor
07.09.2017
17:30:21
ищи psqlrc, вероятно там прописали :PORT ? это как вариант
нет не прописывал ничего дополнительно

проблема в общем то понятна, по дефолту psql идёт ни на тот порт, нужно на 5432, а он почему то идёт на 5433 и ищет не тот сокет

как решить?

Artem
07.09.2017
17:33:16
strace -e open psql 2>&1|grep -i pg

какие файлы открывает

?

как решить?
как вариант пропиши PGPORT

Google
Igor
07.09.2017
17:34:09
عاصم بن حارث
07.09.2017
17:34:38
проблема в общем то понятна, по дефолту psql идёт ни на тот порт, нужно на 5432, а он почему то идёт на 5433 и ищет не тот сокет
по умолчанию он идет на 5432, в противном случае к конфиге явно указано, что надо идти не на дефолтный порт! Следовательно, следует искать в конфиге.

ты коннектишся локально или через ssh сидишь удаленно?

عاصم بن حارث
07.09.2017
17:36:31
Igor
07.09.2017
17:36:33
может он собран так? pg_config --configure
да нет, это стандартные постгрес для дэбиана, на другом сервере ок

عاصم بن حارث
07.09.2017
17:37:09
через ssh удалённо
млин! так посмотри на ремоуте, какие там конфиги! твои локальные не работают в таком случае!

Igor
07.09.2017
17:37:44
ребутал сервер

عاصم بن حارث
07.09.2017
17:38:29
вот! там и смотри: в учетке того, кем зашел. А не у себя в $HOME )

Igor
07.09.2017
17:39:16
вот! там и смотри: в учетке того, кем зашел. А не у себя в $HOME )
так я зашёл юзером, потом su - в рута, потом su - postgres

Dmitry
07.09.2017
17:41:30
psql --help , там будет написан дефолтный порт

عاصم بن حارث
07.09.2017
17:41:47
так я зашёл юзером, потом su - в рута, потом su - postgres
не мое дело, конечно. Но! зачем все эти рут\постг? поправь конфиг у сервака ДБ и ходи от норм. юзера (юзером постгрес, если так принципиально)

عاصم بن حارث
07.09.2017
17:42:59
так и хожу от нормального юзера)
а все эти СУ рут\постре - эти манипуляции зачем? )))

Igor
07.09.2017
17:43:09


Dmitry
07.09.2017
17:43:16
ну вот и все

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