BEGIN; CREATE EXTENSION IF NOT EXISTS anon CASCADE; SELECT anon.init(); init ------ t (1 row) -- -- Generic Types -- -- zip SELECT pg_typeof(anon.random_zip()) = 'TEXT'::REGTYPE; ?column? ---------- t (1 row) -- string SELECT pg_typeof(anon.random_string(1)) = 'TEXT'::REGTYPE; ?column? ---------- t (1 row) -- Range SELECT anon.random_in_int4range('[2001,2002)') = 2001; ?column? ---------- t (1 row) SELECT anon.random_in_int4range('(2001,2002)') IS NULL; ?column? ---------- t (1 row) SELECT anon.random_in_int4range('[2001,)') IS NULL; ?column? ---------- t (1 row) SELECT anon.random_in_int4range('[,2001]') IS NULL; ?column? ---------- t (1 row) SELECT anon.random_in_int4range(NULL) IS NULL; ?column? ---------- t (1 row) SELECT bool_and(anon.random_in_int4range('[1,10)') < 10) FROM generate_series(1,100); bool_and ---------- t (1 row) SELECT anon.random_in_daterange('[2021-01-01, 2021-01-02)') = '2021-01-01'::DATE; ?column? ---------- t (1 row) SELECT anon.random_in_int8range('[2001,2002)') = 2001; ?column? ---------- t (1 row) SELECT anon.random_in_numrange('[0.1,0.9]') < 1; ?column? ---------- t (1 row) SELECT extract( DAY FROM anon.random_in_tsrange('[2022-10-9,2022-10-31)')) > 8; ?column? ---------- t (1 row) SELECT extract( YEAR FROM anon.random_in_tstzrange('[2022-01-01,2022-12-31]')) = 2022; ?column? ---------- t (1 row) -- Date SELECT pg_typeof(anon.random_date_between('1900-01-01'::TIMESTAMP WITH TIME ZONE,now())) = 'TIMESTAMP WITH TIME ZONE'::REGTYPE; ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_date_between('0001-01-01'::DATE,'4001-01-01'::DATE)) = 'TIMESTAMP WITH TIME ZONE'::REGTYPE; ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_date()) = 'TIMESTAMP WITH TIME ZONE'::REGTYPE; ?column? ---------- t (1 row) -- Integer SELECT pg_typeof(anon.random_int_between(1,3)) = 'INTEGER'::REGTYPE; ?column? ---------- t (1 row) SELECT ROUND(AVG(anon.random_int_between(1,3))) = 2 FROM generate_series(1,100); ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_bigint_between(1,3)) = 'BIGINT'::REGTYPE; ?column? ---------- t (1 row) SELECT ROUND(AVG(anon.random_bigint_between(2147483648,2147483650))) = 2147483649 FROM generate_series(1,100); ?column? ---------- t (1 row) -- Phone SELECT pg_typeof(anon.random_phone('0033')) = 'TEXT'::REGTYPE; ?column? ---------- t (1 row) SELECT anon.random_phone(NULL) IS NULL; ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_phone()) = 'TEXT'::REGTYPE; ?column? ---------- t (1 row) -- Array SELECT anon.random_in(NULL::DATE[]) IS NULL; ?column? ---------- t (1 row) SELECT avg(anon.random_in(ARRAY[1,2,3]))::INT = 2 FROM generate_series(1,100); ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_in(ARRAY['yes','no','maybe'])) = 'TEXT'::REGTYPE; ?column? ---------- t (1 row) -- ENUM CREATE TYPE CARD AS ENUM ('visa', 'mastercard', 'amex'); SELECT pg_typeof(anon.random_in(enum_range(null::CARD))) = 'CARD'::REGTYPE; ?column? ---------- t (1 row) SELECT pg_typeof(anon.random_in_enum(NULL::CARD)) = 'CARD'::REGTYPE; ?column? ---------- t (1 row) DROP EXTENSION anon CASCADE; ROLLBACK;