This commit is contained in:
2026-01-08 22:52:56 +03:00
parent 4751674ef3
commit f81a831c0c
4 changed files with 30 additions and 21 deletions
+7
View File
@@ -4,6 +4,7 @@ DECLARE
v_max_book_date timestamptz;
v_start_date timestamptz;
v_end_date timestamptz;
v_bookings_cnt bigint;
v_jobs integer := COALESCE(current_setting('bookings.jobs', true), '1')::integer;
v_init_days integer := COALESCE(current_setting('bookings.init_days', true), '1')::integer;
v_start_cfg text := COALESCE(current_setting('bookings.start_date', true), '2017-01-01');
@@ -38,4 +39,10 @@ BEGIN
PERFORM pg_sleep(1);
END LOOP;
PERFORM dblink_disconnect(unnest(dblink_get_connections()));
-- Если данных нет, останавливаемся с понятной ошибкой
SELECT COUNT(*) INTO v_bookings_cnt FROM bookings.bookings;
IF v_bookings_cnt = 0 THEN
RAISE EXCEPTION 'Генератор demodb завершился, но bookings.bookings пустая. Проверьте применение патчей и логи генератора.';
END IF;
END $$;
+14 -12
View File
@@ -1,17 +1,6 @@
--- a/engine.sql
+++ b/engine.sql
@@
SELECT count(*) > 0
FROM pg_stat_activity
WHERE application_name = 'Airlines processor'
- AND state != 'idle';
+ AND state != 'idle'
+ AND pid <> pg_backend_pid();
END;
@@
TRUNCATE TABLE gen.stat_jobs;
@@ -165,16 +165,22 @@
-- disconnect all previously opened connections
PERFORM dblink_disconnect(unnest(dblink_get_connections()));
@@ -41,3 +30,16 @@
+ RAISE NOTICE 'Starting job %: %', i, res;
+ END LOOP;
+ END IF;
-- re-create booking.now()
EXECUTE format(
@@ -230,7 +236,8 @@
SELECT count(*) > 0
FROM pg_stat_activity
WHERE application_name = 'Airlines processor'
- AND state != 'idle';
+ AND state != 'idle'
+ AND pid <> pg_backend_pid();
END;
/*
@@ -1,11 +1,5 @@
--- a/install.sql
+++ b/install.sql
@@ -10,7 +10,7 @@
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@@ -13,1 +13,1 @@
-DROP DATABASE demo;
+DROP DATABASE IF EXISTS demo WITH (FORCE);
CREATE DATABASE demo;
\c demo
CREATE EXTENSION btree_gist;