ankane/pgsync · error · Error
Unknown rule #{rule} for column #{column}
Error message
Unknown rule #{rule} for column #{column} What it means
Error "Unknown rule #{rule} for column #{column}" thrown in ankane/pgsync.
Source
Thrown at lib/pgsync/task.rb:273
"'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"
# casting double to int rounds
"(1 + RANDOM() * 254)::int::text || '.0.0.1'"
when "random_letter"
# casting double to int rounds
"chr(65 + (RANDOM() * 25)::int)"
when "random_string"
"RIGHT(MD5(RANDOM()::text), 10)"
when "null", nil
"NULL"
else
raise Error, "Unknown rule #{rule} for column #{column}"
end
end
end
def quoted_primary_key(table, primary_key, rule)
raise Error, "Single column primary key required for this data rule: #{rule}" unless primary_key.size == 1
"#{quoted_table}.#{quote_ident(primary_key.first)}"
end
def maybe_disable_triggers
if opts[:disable_integrity] || opts[:disable_integrity_v2] || opts[:disable_user_triggers]
destination.transaction do
triggers = destination.triggers(table)
triggers.select! { |t| t["enabled"] == "t" }
internal_triggers, user_triggers = triggers.partition { |t| t["internal"] == "t" }
integrity_triggers = internal_triggers.select { |t| t["integrity"] == "t" }
restore_triggers = []
View on GitHub (pinned to 57bdddf5db)
When it happens
Trigger: Thrown at lib/pgsync/task.rb:273 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/d543a626afca0b00.
Report an issue: GitHub.