Search Postgresql Archives

Re: Replicating hundreds of thousandw of rows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 25/11/2016 15:23, Job ha scritto:
Hello,
Hello, we are using rybyrep with postgresql 9.1 and 9.5 to have (almost-) real time synchronization for 5 years ATM. Unfortunately, it seems a dead project, so we had to find a good JRuby developer to make some customizations.
we need to replicate hundreds of thousands of rows (for reporting) between Postgresql Database nodes that are in different locations.
First: which OS are you using? If not Windows, I'll follow Simon directions... we are still using rubyrep because one of the 2 hosts is Windows-based, otherwise we'd have chosen something quicker and with a smaller memory footprint (Java VM in some cases eats up an entire gigabyte of RAM on a client).

Then: is there any bytea field in your records? If yes, with the current version you can go ahead to PostgreSQL 9.0.x In 9.1 there has been a change in bytea manipulation and there's a risk that once replicated, your data could be corrupted (I went through it about 4 years ago, but now I forgot most of the details), due to backslash duplication (double-escaping) of bytea fields. We had to modify some modules to avoid this, and it's now running fine with 9.5

Last: Is there a good connection between hosts involved in replication? If not (I mean an unstable connection), you should write your own code to restart synchronization whe line drops.

Actually, we use Rubyrep with Postgresql 8.4.22.
It works fine but it is very slow with a massive numbers of rows.
You're lucky it works...
We encountered several out of memory exceptions in replication having xx_pending_changes filled with more han 3-400k records.
With Postgresql 9.x, are there some ways to replicate (in background, not in real time!), these quantities of data?
We need a periodical syncronization..,
Again, if you need rubyrep, I'll think about using only SYNC command when you need it, with a good configuration to avoid keeping old data and overwriting new one. Otherwise, in *nix environments you can benefit of many replication tools, even not involved with PostgreSQL like Londinste, Bucardo and so on (but if I were you, I'll choose something that is very close to postgresql developers...).

Thank you!
/F





--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux