ankane/pgsync · error · Error
Unknown rule #{rule.inspect} for column #{column}
Error message
Unknown rule #{rule.inspect} for column #{column} What it means
Error "Unknown rule #{rule.inspect} for column #{column}" thrown in ankane/pgsync.
Source
Thrown at lib/pgsync/task.rb:244
end
end
end
# TODO better performance
def rule_match?(table, column, rule)
regex = Regexp.new('\A' + Regexp.escape(rule).gsub('\*', '[^\.]*') + '\z')
regex.match(column) || regex.match("#{table.name}.#{column}") || regex.match("#{table.schema}.#{table.name}.#{column}")
end
# TODO wildcard rules
def apply_strategy(rule, table, column, primary_key)
if rule.is_a?(Hash)
if rule.key?("value")
escape(rule["value"])
elsif rule.key?("statement")
rule["statement"]
else
raise Error, "Unknown rule #{rule.inspect} for column #{column}"
end
else
case rule
when "untouched"
quote_ident(column)
when "unique_email"
"'email' || #{quoted_primary_key(table, primary_key, rule)}::text || '@example.org'"
when "unique_phone"
"(#{quoted_primary_key(table, primary_key, rule)}::bigint + 1000000000)::text"
when "unique_secret"
"'secret' || #{quoted_primary_key(table, primary_key, rule)}::text"
when "random_int", "random_number"
"(RANDOM() * 100)::int"
when "random_date"
"date '1970-01-01' + (RANDOM() * 10000)::int"
when "random_time"
"NOW() - (RANDOM() * 100000000)::int * INTERVAL '1 second'"
when "random_ip"View on GitHub (pinned to 57bdddf5db)
When it happens
Trigger: Thrown at lib/pgsync/task.rb:244 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ankane/pgsync@57bdddf5db (2026-08-23).
Data as JSON: /api/errors/442e1fae28ce9633.
Report an issue: GitHub.