postgresql 如何为postgres表生成测试数据,表中有两个UUID数据类型列?

hec6srdp  于 2023-06-05  发布在  PostgreSQL
关注(0)|答案(2)|浏览(199)

我有下面的表与模式,我想生成一些10K或20K的测试数据,我想测试数据值按相关列的数据类型,任何人都可以请你建议在这,在这个表中,我想测试数据的ID唯一值为每一行,但我与迁移_id值可以是一个以上的行相同
CREATE TABLE student_services ( id uuid NOT NULL, mobile_type VARCHAR(10) NOT null, migration_id uuid NOT NULL, service_type text NOT NULL, s_config jsonb NOT NULL, subs_id uuid NULL, expire_at timestamp NOT NULL );
我尝试了一些脚本,但无法处理UUID类型

jum4pzuy

jum4pzuy1#

可以使用uuid扩展生成UUID值:

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

然后您可以使用以下函数生成UUID

uuid_generate_v4();

对于其余的数据,您可以使用java/node/python中的任何外部程序生成,或者从excel/csv导入

jrcvhitl

jrcvhitl2#

如果您使用的是PostgreSQL 13或更高版本,则可以使用gen_random_uuid()生成随机UUID。
对于旧版本,您需要使用uuid-ossp扩展,如@vaibhav的回答中所述。缺点是CREATE EXTENSION ...需要首先作为数据库超级用户完成。

相关问题