I need some ideas here.
Let us say we have a bunch of tables, called a,b,c,d. We will get a batch of data in files which need to be processed.
Atthe end of processing, the tables will get a fresh set of data. The problem we would like to solve is to allow
accessto the tables while they are getting processed by the new batch. Obviously, during the processing the data will
bein an inconsistent state, which the app should not be exposed to. At the end of processing, the app can see the new
data.
In RDBMS where synonyms are allowed we would do this:
keep two set of tables a_1 and a_2
A synonym a will either point to a_1 or a_2.
applications will refer synonym a only, never a_1 or a_2.
While synonym is referring to a_1, we can process a_2.
At the end of processing change the synonym to point to a_2.
next time, repeat it, just flip the tables from a_2 to a_1.
How this can be done in PG 9.5.3?
Thanks.