1234567891011121314151617181920212223242526272829303132333435 |
- DO $$
- DECLARE
- user_count INT := 5; -- Количество пользователей
- measurements_per_user INT := 100; -- Количество измерений на пользователя
- user_id INT;
- batch_id INT;
- BEGIN
- -- Добавление пользователей
- FOR i IN 1..user_count LOOP
- INSERT INTO users (name, rank_id) VALUES ('User' || i, i);
- user_id := currval(pg_get_serial_sequence('users', 'id'));
- -- Добавление пакетов измерений для каждого пользователя
- FOR j IN 1..(measurements_per_user / 10) LOOP
- INSERT INTO measurement_batch (start_period, user_id, pos_x, pos_y)
- VALUES (NOW() - (j || ' days')::interval, user_id, random() * 100, random() * 100);
- batch_id := currval(pg_get_serial_sequence('measurement_batch', 'id'));
- -- Добавление измерений в пакет
- FOR k IN 1..10 LOOP
- INSERT INTO measurement_params (measurement_type_id, measurement_batch_id, height, temperature, pressure, wind_speed, wind_direction, bullet_speed)
- VALUES (
- 1, -- Тип измерения
- batch_id,
- random() * 1000, -- Высота
- (random() * 116 - 58)::NUMERIC, -- Температура (-58..58)
- (random() * 400 + 500)::NUMERIC, -- Давление (500..900)
- random() * 20, -- Скорость ветра
- (random() * 60)::INT, -- Направление ветра (0..59)
- random() * 1000 -- Скорость пули
- );
- END LOOP;
- END LOOP;
- END LOOP;
- END $$;
|