跳到主要内容

PostgreSQL 支持特性

引用资料

信息

PostgreSQL 的每一个类型都可被对应为一个数组类型。Faker 对于相应的数组类型支持性也同下表

  • 数组元素数量:0 ~ 10

支持的类型

PostgreSQL Type支持性
BOOL支持
SMALLSERIALINT2支持
SERIALINT4支持
OID支持
BIGSERIALINT8支持
FLOAT4FLOAT8支持
NUMERIC支持
MONEY支持
NAMEBPCHARTEXTVARCHAR支持
UUID支持
DATE支持
TIME支持
TIMETZ支持
INTERVAL支持
TIMESTAMP支持
TIMESTAMPTZ支持
BITVARBIT支持
BYTEA支持
POINTLINELSEGBOXPATHPOLYGONCIRCLEGEOMETRY支持
BYTEA支持
BYTEA支持
BYTEA支持
BYTEA支持
BYTEA支持
JSON不支持
JSONB不支持
XML不支持
CIDR不支持
INET不支持
MACADDR不支持
MACADDR8不支持
INT4RANGE不支持
INT8RANGE不支持
NUMRANGE不支持
TSRANGE不支持
TSTZRANGE不支持
DATERANGE不支持
TSVECTOR不支持
TSQUERY不支持
PG_LSN不支持
TXID_SNAPSHOT不支持

默认策略(widely)

  • 策略名:widely
  • 默认策略:true
  • 同名策略优先级:1
  • 策略脚本:META-INF/faker-default-dbtpc/postgresql-widely.tpc
PostgreSQL TypeJDBC Type描述
BOOLTypes.BOOLEAN取值范围:true, false
SMALLSERIALINT2Types.TINYINT取值范围:0 ~ 100
SERIALINT4Types.INTEGER取值范围:0 ~ 99999999
OIDTypes.BIGINT取值范围:0 ~ 100000000
BIGSERIALINT8Types.BIGINT取值范围:0 ~ 9999999999
FLOAT4FLOAT8Types.DOUBLE取值范围:0 ~ 9999999.999
小数精度:最大 3 位
NUMERICTypes.DECIMAL参照元信息决定 precisionscale
precision值:默认为 6
scale值:默认为 2
MONEYTypes.DECIMAL取值范围:0 ~ 99999.999
小数精度:固定 3 位
NAMEBPCHAR
TEXTVARCHAR
Types.VARCHAR长度范围:0 ~ 250,默认 10
UUIDTypes.OTHER长度为 36 的 UUID
DATETypes.DATE取值范围:2000-01-01 ~ 2030-12-31
TIMETypes.TIME最小值:00:00:00.000000
最大值:23:59:59.999999
时间精度:0 ~ 6,默认 3
TIMETZTypes.TIME_WITH_TIMEZONE最小值:00:00:00.000000-08:00
最大值:23:59:59.999999+08:00
时间精度:0 ~ 6,默认 3
INTERVALTypes.OTHER最小值:2000-01-01 00:00:00
最大值:2030-12-31 23:59:59
时间格式:ISO8601
TIMESTAMPTypes.TIMESTAMP最小值:2000-01-01 00:00:00.000000
最大值:2030-12-31 23:59:59.999999
时间精度:0 ~ 6,默认 3
TIMESTAMPTZTypes.TIMESTAMP_WITH_TIMEZONE最小值:2000-01-01 00:00:00.000000-08:00
最大值:2030-12-31 23:59:59.999999+08:00
时间精度:0 ~ 6,默认 3
BITVARBITTypes.VARCHAR取值范围:0,1
长度范围:1 ~ 24,默认 8
BYTEATypes.VARBINARY长度范围:0 ~ 16,默认 4
POINTLINELSEG
BOXPATHPOLYGON
CIRCLEGEOMETRY
Types.VARCHAR写入格式:WKT
坐标系:平面直角坐标系
矩形区域 A 点:50, 0
矩形区域 B 点:0, 1000
点数量:2 ~ 10
点坐标精度:5 位小数
不参与 DeleteWhereUpdateWhere

极值策略(extreme)

  • 策略名:extreme
  • 默认策略:false
  • 同名策略优先级:1
  • 策略脚本:META-INF/faker-default-dbtpc/postgresql-extreme.tpc
PostgreSQL TypeJDBC Type描述
BOOLTypes.BOOLEAN取值范围:true, false
SMALLSERIALTypes.TINYINT取值范围:0 ~ 32767
INT2Types.INTEGER取值范围:-32768 ~ 32767
SERIALTypes.INTEGER取值范围:0 ~ 2147483647
INT4Types.INTEGER取值范围:-2147483648 ~ 2147483647
BIGSERIALTypes.BIGINT取值范围:0 ~ 9223372036854775807
INT8Types.BIGINT取值范围:-9223372036854775808 ~ 9223372036854775807
OIDTypes.BIGINT取值范围:0 ~ 100000000
FLOAT4Types.DOUBLE10%,1e-37 ~ 1e+37
10%,-1e-37 ~ -1e+37
30%,-999999999.999999999 ~ 999999999.999999999
30%,-0.999999999 ~ 0.999999999
精度范围:0 ~ 6,默认 3
FLOAT8Types.DOUBLE10%,1e-307 ~ 1e+308
10%,-1e-307 ~ -1e-308
30%,-999999999.999999999 ~ 999999999.999999999
30%,-0.999999999 ~ 0.999999999
精度范围:0 ~ 6,默认 3
NUMERICTypes.DECIMAL参照元信息决定 precisionscale
precision值:默认为 6
scale值:默认为 2
MONEYTypes.DECIMAL取值范围:-92233720368547758.08 ~ 92233720368547758.07
小数精度:固定 2 位
NAMETypes.VARCHAR长度范围:1 ~ 100,默认 10
BPCHAR
TEXTVARCHAR
Types.VARCHAR长度范围:0 ~ 1000,默认 10
UUIDTypes.OTHER长度为 36 的 UUID
DATETypes.DATE取值范围:0000-01-01 ~ 9999-12-31
TIMETypes.TIME最小值:00:00:00.000000
最大值:23:59:59.999999
时间精度:0 ~ 6,默认 3
TIMETZTypes.TIME_WITH_TIMEZONE最小值:00:00:00.000000-14:00
最大值:23:59:59.999999+14:00
时间精度:0 ~ 6,默认 3
INTERVALTypes.OTHER最小值:0000-01-01 00:00:00
最大值:9999-12-31 23:59:59
时间格式:ISO8601
TIMESTAMPTypes.TIMESTAMP最小值:0000-01-01 00:00:00.000000
最大值:9999-12-31 23:59:59.999999
时间精度:0 ~ 6,默认 3
TIMESTAMPTZTypes.TIMESTAMP_WITH_TIMEZONE最小值:0000-01-01 00:00:00.000000-14:00
最大值:9999-12-31 23:59:59.999999+14:00
时间精度:0 ~ 6,默认 3
BITVARBITTypes.VARCHAR取值范围:0,1
长度范围:1 ~ 512,默认 4
BYTEATypes.VARBINARY长度范围:0 ~ 4096,默认 10
POINTLINELSEG
BOXPATHPOLYGON
CIRCLEGEOMETRY
Types.VARCHAR写入格式:WKT
坐标系:平面直角坐标系
矩形区域 A 点:50, 0
矩形区域 B 点:0, 1000
点数量:2 ~ 10
点坐标精度:5 位小数
不参与 DeleteWhereUpdateWhere