170 похожих чатов

Всем привет. spring boot + hibernate + postgres можно ли спрингу/хиберу сказать,

чтобы он при подключении к бд обязательно выполнил произвольный запрос? в частности, нужно выполнить set search_path

10 ответов

6 просмотров

Единажды? Может просто startup listener сделать

Nikolaj-Rudakov Автор вопроса
central hardware
Единажды? Может просто startup listener сделать

не уверен, что единожды. у спринга hikari вроде держит пулл коннектов

Nikolaj Rudakov
не уверен, что единожды. у спринга hikari вроде де...

А зачем его выполнять? Проверить что коннект живой? Для этого в хикари есть connectionTestQuery (https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby).

Омикрон
А зачем его выполнять? Проверить что коннект живой...

Там же выше написано что переменную сессии установить

Nikolaj-Rudakov Автор вопроса
Омикрон
А зачем его выполнять? Проверить что коннект живой...

нужна не проверка коннекта, а доступ к расширениям, которые недоступны в схеме подключения, т.к. созданы в public схеме

Nikolaj Rudakov
нужна не проверка коннекта, а доступ к расширениям...

А, понял, не заметил сразу :( Тогда можете посмотреть на connectionInitSql

Nikolaj-Rudakov Автор вопроса
Омикрон
А, понял, не заметил сразу :( Тогда можете посмотр...

не выходит. при том что, вроде используется свойство, т.к. если написать фигню, то спринг падает с исключением. всё как в доке. выполнение SHOW search_path в тесте (@Test) показывает только одну схему, без public

Вроде у хикари пула можно в конфиге указать дефолтную схему. Еще можно пользователю в бд задать search_path

Nikolaj-Rudakov Автор вопроса
Pavel Churzin
Вроде у хикари пула можно в конфиге указать дефолт...

да, всё можно и всё работает, но, как оказалось, всё портит liquibase. он на данный момент является частью приложения и какой-то магией он устанавливает search_path на схему, даже если в подключении datasource указаны более одной схемы (через currentSchema). чинится довольно странно: datasource: url: "jdbc:postgresql://${DB_HOST:localhost:5432}/${DB_DATABASE:kiap}?currentSchema=dto,public" username: "${DB_USER:postgres}" password: "${DB_PASSWORD:1234}" liquibase: change-log: "classpath:/db/changelog.yml" user: "${DB_USER:postgres}" liquibase-schema: dto указать схему и юзера. если не указать юзера в liquibase - будет ошибка. если вырубить liquibase, то любой вариант в приложении показывает правильный search_path. может ошибка вылезает только на тестах и какой-то контекст переписывается именно в них. при обычном запуске не пробовал.

Nikolaj Rudakov
да, всё можно и всё работает, но, как оказалось, в...

Вы ликвибейз при старте приложения запускаете?

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Не получается у меня либу Zstd статически слинковать, вылазят какие-то AV Вроде example у них не сложный есть, вроде всё делаю как там... но не выходит чего-то Вопрос - если ...
notme
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
8
Привет всем, подскажите, есть сайт на ево 1.4, надо сделать его мультиязычным, структура документов одинаковой останется, чисто тексты разные, свои тв для каждого языка, поддо...
Oleg
7
@rouse_79 https://github.com/AlexanderBagel/FWZip/blob/8c6882a31ffaa9a23e66e22eaa5b1f7ebfcad43c/zlib_external.pas#L393 Почему Си-шная функция memset, параметр отвечающий за з...
notme
8
{"fieldValue":[ {"title":"Alkmaar","coords":"52.62689992095562, 4.771862510168792","address":"Edisonweg 1","zip":"1821 BN","city":"Alkmaar","description":"ma-vr: 07:00-17:00"...
Marc Hoogstrate
6
Карта сайта