Looks like the logtrigger stores the bytea columns in 'hex' format in sl_log_* and then the slon chokes on that when replaying against 8.4 error at end of COPY IN: ERROR: invalid input syntax for type bytea maybe throw in a check for 8.4 and use encode/decode? Why would you want to replicate from 9.3 to 8.4? Just in case you need to fallback after the migration.