The RFC limits the characters allowed in variables names, but there is no validation enforcing this. From § 2.3: variable-list = varspec *( "," varspec ) varspec = varname [ modifier-level4 ] varname = varchar *( ["."] varchar ) varchar = ALPHA / DIGIT / "_" / pct-encoded (I'm not opposed to expanding the set of allowed characters.)