Don't do it this way. Use one of the existing well-maintained solutions for the purpose, like Bucardo, Londiste, Slony-I, etc.
See replication on the Pg wiki.
Londiste at least can cope with being stopped, then resumed when you want it to catch up, so you can run it as a daily batch if you want.
If all you're dealing with is an insert-only table then you can avoid the need for full-fledged replication; all you need is something like
psql -h host1 db1 -c \
"\copy (SELECT * FROM the_table WHERE the_date = '2012-01-01') TO stdout" \
| psql -h host2 db2 -c \
"\copy the_table FROM STDIN"
See the manual on COPY
You can do the same thing within your C# app by making two PostgreSQL connections, doing a COPY FROM on one, and a COPY TO on the other, then copying the rows between them. You'll find nPgSQL's support for COPY useful for this.