· 6 years ago · Jul 02, 2019, 03:40 PM
1DROP TABLE IF EXISTS teste;
2CREATE SEQUENCE teste_seq;
3
4CREATE TABLE IF NOT EXISTS teste (
5 id bigint NOT NULL DEFAULT NEXTVAL ('teste_seq'),
6 datetime timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP,
7 channel int DEFAULT NULL,
8 value double precision DEFAULT NULL,
9 PRIMARY KEY (id)
10) ;
11
12ALTER SEQUENCE teste_seq RESTART WITH 1000001;
13
14CREATE OR REPLACE PROCEDURE generate_data()
15LANGUAGE plpgsql
16AS $$
17DECLARE result INTEGER = 0;
18BEGIN
19 WHILE result != 1000000 LOOP
20 INSERT INTO teste
21 ( datetime, value, channel )
22 VALUES ( NOW() - '1 year'::INTERVAL * ROUND(RANDOM() * 100), ROUND(RANDOM() * 100, 2), 1 );
23 result := result + 1;
24 END LOOP;
25
26 COMMIT;
27END;
28$$;