为了验证吐司的相关功能,通过lpad, rpad等方式由于重复率太高看不出效果,因此需要生成随机字符串来填充数据。
生成随机字符串的样例函数
<>之前 <代码>创建或替换函数sf_generate_randomstring (int4长度) 返回文本 美元美元 声明 字符文本[]:=' {0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z} '; ret文本:="; 我整数:=0; lenofarray int:=array_length(识字课,1); 开始 如果长度& lt;0然后 提高异常的输入参数不合法,请重新输入!”; 如果; 因为我在1 . .长循环 ret:=ret | |字符[1 +随机()* (lenofarray-1)]; 结束循环; 返回受潮湿腐烂; 结束; $ $ 语言“plpgsql” ; 代码>该函数会随机生成由a-zA-Z0-9字符组成的字符串,长度由输入参数长度确定,当然也可以在数组字符中添加其他字符,如中文字符等。
效果如下:
<>之前
<代码>(本地):5432 pg12@testdb=#选择sf_generate_randomstring (100);
sf_generate_randomstring
--------------------------------------------------------------------------------------------
hmski6FmSCcRPcfmSkC3aaX7Ay3QlmTz0497pitHNjLcU8KdKVtO7ysmoqRnwM2Dc9VuPnOxGfUgTX6lIdplRciYETic4GrdRqD1
(1行)
时间:2.022毫秒
(本地):5432 pg12@testdb=#选择长度(sf_generate_randomstring (40000);
长度
--------
40000
(1行)
时间:174.529毫秒
(本地):5432 pg12@testdb=#
代码>
<强>参考资料强>
PostgreSQL如何快速构建海量逼真测试数据