@pgsql

Страница 691 из 1062
Pavel
26.02.2018
17:18:38
@drsm2 @knizhnik Спасибо!

Roman
27.02.2018
08:16:48
Есть тригер на апдейт, внутри себя он должен апдейтить другие записи, но возникает рекурсия. Можно ли как-то запретить падать в рекурсию, или единственный выход писать функцию для апдейта без триггера ?

Google
Sergey
27.02.2018
08:20:37
На заходе в триггер проверить, выставить. На выходе снять.

Pavel
27.02.2018
08:55:17
"Вы легко можете получить выигрыш в производительности без побочных эффектов, если примонтируете файловую систему, содержащую базу данных, с параметром noatime (но при этом не будет отслеживаться время последнего доступа к файлу" из раздела 2.3 Диски и файловые системы http://postgresql.leopard.in.ua/ Кто пробовал? Какой получался выигрыш в производительности и критично ли вообще время последнего доступа к файлу?

Darafei
27.02.2018
08:55:45
так дефолтный relatime почти то же самое

https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/6/html/power_management_guide/relatime

*sm1Ly
27.02.2018
08:57:06
товарищи, на 7ой центоси пытаюсь обновить 9.2 до 9.6 таким методом: /usr/pgsql-9.6/bin/pg_upgrade --link --old-datadir=/var/lib/pgsql/data --new-datadir=/var/lib/pgsql/9.6/data --old-bindir=/usr/bin --new-bindir=/usr/pgsql-9.6/bin когда оба сервера включены - говорит выключи, когда выключены - говорит включи. при этом —check проходит. что я делаю не так?

Mike Chuguniy
27.02.2018
08:58:41
Ибо —link делает хардлинки на файлы вместо копирования, и что должно получаться, когда у тебя два экземпляра пытаются использовать одни и те же файлы данных - ну сам подумай.

Mike Chuguniy
27.02.2018
09:11:09
Так в итоге должен остаться только один...
Ну так убить файлы - это просто. А если, как это обычно случается, обновление не вот уж протестировано, и надо быстро-быстро откатиться на предыдущую версию?

*sm1Ly
27.02.2018
09:13:14
--link не использовать?
я по докам. там говорят линк надо. я понял твою идею, спасибо

Yaroslav
27.02.2018
09:15:04
я по докам. там говорят линк надо. я понял твою идею, спасибо
Его можно (и даже нужно, если нужен быстрый upgrade) использовать. Наверное, Вы что-то не так сделали... Здесь https://www.postgresql.org/docs/current/static/pgupgrade.html же есть пошаговая инструкция, посмотрите, где Вы могли ошибиться.

Google
Yaroslav
27.02.2018
10:03:10
судя по данному ману --link не нужен
Он не обязателен. Но если Вам нужно быстрее (и в пределах одной FS), то это может быть намного быстрее.

*sm1Ly
27.02.2018
10:03:26
command: "/usr/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql/data" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/opt/pgsql'" start >> "pg_upgrade_server.log" 2>&1 waiting for server to start....FATAL: unrecognized configuration parameter "unix_socket_directory" stopped waiting pg_ctl: could not start server

но у меня и в том и другом конфиги есть такой параметр...

Yaroslav
27.02.2018
10:05:49
но у меня и в том и другом конфиги есть такой параметр...
И зря он там есть. ;) Его (кажется, в 9.3) переименовали в unix_socket_directories.

*sm1Ly
27.02.2018
10:06:32
И зря он там есть. ;) Его (кажется, в 9.3) переименовали в unix_socket_directories.
⚡️ root@srv  /var/lib/pgsql  cat 9.6/data/postgresql.conf | grep unix_socket_dir #unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories ⚡️ root@srv  /var/lib/pgsql  cat data/postgresql.conf | grep unix_socket_dir #unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories

и в 9.2 и в 9.6 одинаковые

*sm1Ly
27.02.2018
10:07:01
точно

/usr/pgsql-9.6/bin/pg_upgrade --old-datadir=/var/lib/pgsql/data --new-datadir=/var/lib/pgsql/9.6/data --old-bindir=/usr/bin --new-bindir=/usr/pgsql-9.6/bin

вот и неочень понятно куда копать...

может просто вырезать данную строку? она всеравно закомментирована

Yaroslav
27.02.2018
10:08:39
вот и неочень понятно куда копать...
Да не было этого параметра в 9.2, кажется (проверьте по документации). Странно это...

*sm1Ly
27.02.2018
10:08:53
ну а откуда он у меня тогда?

а, минуту, я проверю на проде

[root@gw data]# cat postgresql.conf | grep unix_socket_directories #unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories [root@gw data]# rpm -qa | grep postgresql-ser postgresql-server-9.2.23-3.el7_4.x86_64

тоже есть

но офф дока говорит что оно звалось иначе...

Mike Chuguniy
27.02.2018
10:10:51
в 9.2: unix_socket_directory (string) - https://www.postgresql.org/docs/9.2/static/runtime-config-connection.html

Google
Mike Chuguniy
27.02.2018
10:11:19
9.6: unix_socket_directories (string) - https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html

*sm1Ly
27.02.2018
10:11:20
да, но мне смысл обманывать?

я грепаю с живого сервера конфиг

там в 9.2 directories

centos 7 версия сервера выше

Yaroslav
27.02.2018
10:12:27
там в 9.2 directories
Чего не должно быть... Но если он закомментирован, это неважно.

*sm1Ly
27.02.2018
10:12:42
так вот pg_upgrade ругается же

Mike Chuguniy
27.02.2018
10:13:03
Чего не должно быть... Но если он закомментирован, это неважно.
Может сентосники чего в пг_апгрейд нарукоблудили, судя по ошибкам.

*sm1Ly
27.02.2018
10:13:53
самое странное что апгрейд ругается на FATAL: unrecognized configuration parameter "unix_socket_directory" которого у меня по факту и нет нигде

⚡️ root@srv  /var/lib/pgsql  grep -R 'unix_socket_director' * 9.6/data/postgresql.conf:#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories data/postgresql.conf:#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories ⚡️ root@srv  /var/lib/pgsql  pwd /var/lib/pgsql

чепуха какая-то(

Yaroslav
27.02.2018
10:15:24
Может сентосники чего в пг_апгрейд нарукоблудили, судя по ошибкам.
Да, похоже... То ли он пытается стартовать старый сервер, используя новый pg_ctl почему-то, то ли где-то ещё они накосили... я сходу не вижу.

*sm1Ly
27.02.2018
10:15:55
command: "/usr/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql/data" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/opt/pgsql'" start » "pg_upgrade_server.log" 2>&1 waiting for server to start....FATAL: unrecognized configuration parameter "unix_socket_directory" stopped waiting pg_ctl: could not start server

Yaroslav
27.02.2018
10:16:10
самое странное что апгрейд ругается на FATAL: unrecognized configuration parameter "unix_socket_directory" которого у меня по факту и нет нигде
Да он у Вас в командной строке (которую Вы сюда копировали) передаётся, посмотрите.

Mike Chuguniy
27.02.2018
10:16:30
pg_upgrade вызывает pg_ctl напрямую и передаёт ему какие-то свои параметры, в том числе и ... жЫзнь - боль и страдание, 9.2 снят с поддержки, а стало быть из pg_upgrade запросто могли выпилить 9.2-специфичные параметры. Судя по ошибке

*sm1Ly
27.02.2018
10:17:22
причем он берет диру которая текущая для него....

ну откуда я стартую апгрейд...

Google
*sm1Ly
27.02.2018
10:17:37
вот же ж зараза.

*sm1Ly
27.02.2018
10:18:41
Yaroslav
27.02.2018
10:19:01
новый pg_ctl лежит тут: /usr/pgsql-9.6/bin/
О! Смотрите (вроде это 1:1 Ваш случай): https://dba.stackexchange.com/questions/50135/pg-upgrade-unrecognized-configuration-parameter-unix-socket-directory

*sm1Ly
27.02.2018
10:20:02
о, сейчас опробуем, спасибо

если бы...

сейчас буду мучать

could not get pg_ctl version data using "/usr/bin/pg_ctl" --version: No such file or directory

сразу же)

Yaroslav
27.02.2018
10:30:21
если бы...
А Вы заметили комментарий: > This really allowed me to upgrade postgres 9.2 to 9.6 on Centos 7! под первым ответом: > I hacked the problem by running (as root): Я поэтому и написал, что это Ваш случай...

*sm1Ly
27.02.2018
10:35:06
А Вы заметили комментарий: > This really allowed me to upgrade postgres 9.2 to 9.6 on Centos 7! под первым ответом: > I hacked the problem by running (as root): Я поэтому и написал, что это Ваш случай...
я Вас прекрасно понимаю. возможно я уже немного злюсь и накосячил с хаком, сейчас перекурю и попробую заного.

да, это уже мои нервы были

ох уж сколько проблем с этим постгре...

ну оно якобы проапгрейдилось и перезалило базы и запустилось...

но /usr/pgsql-9.6/bin/psql не видит базы)

Yaroslav
27.02.2018
10:49:22
ох уж сколько проблем с этим постгре...
Да это уж CentOS виноват... Вы, кстати, не пробовали искать в их bugtracker-е (или что у них там есть)?

*sm1Ly
27.02.2018
10:52:08
Упс. :(
я уже разобрался. они совсем перекурили. у меня раньше всегда psql цеплялся по сокету локальному, а тут я изменял порт (5432 и 5433 на 9.6, чтобы при одновременно запуске конфликта не было), и пока я на 5432 не сменил - не цеплялось. что-то я думаю что я откажусь пока от обновы на проде (вообще это все ради UPSERT делалось)...

Да это уж CentOS виноват... Вы, кстати, не пробовали искать в их bugtracker-е (или что у них там есть)?
я уже потерял вкладку, но это даже не центос, это рхел виноват со своими бекпортами

Google
Yaroslav
27.02.2018
10:53:07
я уже потерял вкладку, но это даже не центос, это рхел виноват со своими бекпортами
Может быть... в любом случае, проблемы (какого-то) дистрибутива. ;)

*sm1Ly
27.02.2018
10:54:48
ну тут такой порядок. Fedora как самый свежий софт и обкатка его, потом рхел, потом уже центос как бесплатный форк рхела

*sm1Ly
27.02.2018
10:55:49
А зря. 9.2 уже end-of-life. Вот на днях, например, выходит security update для всех поддерживаемых версий... ;) И аналогично с исправлениями ошибок.
ну когда 8ую центось запилят - перееду. как-то мне вот эти костыли шибко сильно не нравятся, а особенно дальше костылять или симлинки или переписывать скрипты... проще уж expect пойти написать

Darafei
27.02.2018
10:56:07
у человека с 2012 года не было времени обновить

*sm1Ly
27.02.2018
10:56:54
https://mirror.yandex.ru/centos/7.4.1708/updates/x86_64/Packages/

и там ctrl+f postgresql

Darafei
27.02.2018
10:58:26
E.25. Release 9.2 Release date: 2012-09-10 (с) https://www.postgresql.org/docs/9.2/static/release-9-2.html

*sm1Ly
27.02.2018
10:59:01
я прекрасно понимаю, но вот рхел считает ее stable

Robert
27.02.2018
11:10:02
Ребят, подскажите как модно делать кластер в 10 версии?

Yaroslav
27.02.2018
11:10:35
Robert
27.02.2018
11:11:16
Давно не занимался постгресом, был XL какой то,. citus

Patroni

Или сначала надо понять? Что хочу? Надёжность или скорость?

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