DO $$
DECLARE
i_lower integer;
i_upper integer;
BEGIN
SELECT MAX(a)+1, MAX(a)+10 INTO i_lower, i_upper FROM blaat;
FOR r in i_lower..i_upper LOOP
INSERT INTO blaat (a, b) (SELECT r,
ARRAY_TO_STRING(ARRAY
(SELECT SUBSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
((RANDOM()*(36-1)+1)::INTEGER),
1)
FROM generate_series(1,10)
),
''
)
);
END LOOP;
END;
$$;
That makes it go from:
a | b
----+------------
1 | Z7RGBNIN26
2 | D8QZ8ROZS2
3 | 6EUK0P5KKZ
4 | 719OWTTWVY
5 | 1LBXB8RSGB
6 | YA6O7HTATW
7 | 5UXAPFA478
8 | W4135F2KEK
9 | JTJF0E93X4
10 | FV5S9DYH1G
(10 rows)
to:
a | b
----+------------
1 | Z7RGBNIN26
2 | D8QZ8ROZS2
3 | 6EUK0P5KKZ
4 | 719OWTTWVY
5 | 1LBXB8RSGB
6 | YA6O7HTATW
7 | 5UXAPFA478
8 | W4135F2KEK
9 | JTJF0E93X4
10 | FV5S9DYH1G
11 | GXK0F55EDR
12 | WT4P0F7M1X
13 | SKTP3N3HQY
14 | JEPO605JVM
15 | E62FCTMMV3
16 | B0MH3CWSHJ
17 | X0PYJ6KMGU
18 | RNB6NYQ80I
19 | IWU70W3GC7
20 | FFUB3JT131
(20 rows)