Обсуждение: WAL file internals and why a 64 bit will not work on a 32 bit
I do know that WAL files taken from a 64 bit OS will not work on a 32 bit OS. However I have to prepare a technical answer to this. That is, questions like - why a WAL file from 64 bit will not work in 32 bit. Also does the WAL file differ for same architecture but different kind of partitions? Regards Dhaval
Dhaval Shah wrote: > I do know that WAL files taken from a 64 bit OS will not work on a 32 > bit OS. However I have to prepare a technical answer to this. > > That is, questions like - why a WAL file from 64 bit will not work in > 32 bit. Also does the WAL file differ for same architecture but > different kind of partitions? The WAL files track on-disk changes. That is, they represent the bytes changed in individual blocks. So - both machines will need to have *identical* on-disk formats for the WAL transfer to work. It can be something as small as a configuration option chosen when compiling PostgreSQL. For example - you can change between floating-point and integer date-times at ./configure time and if you use different settings on two identical machines then the WAL files will be incompatible. The obvious incompatibility I'd expect in a 32 to 64-bit changeover would be alignment of data fields to 32 or 64-bit boundaries. I've not checked, but I'd be surprised if there wasn't some difference there. -- Richard Huxton Archonet Ltd
Thanks. If I partition my disk differently between the primary and standby will that be a problem? Regards Dhaval On 5/10/07, Richard Huxton <dev@archonet.com> wrote: > Dhaval Shah wrote: > > I do know that WAL files taken from a 64 bit OS will not work on a 32 > > bit OS. However I have to prepare a technical answer to this. > > > > That is, questions like - why a WAL file from 64 bit will not work in > > 32 bit. Also does the WAL file differ for same architecture but > > different kind of partitions? > > The WAL files track on-disk changes. That is, they represent the bytes > changed in individual blocks. So - both machines will need to have > *identical* on-disk formats for the WAL transfer to work. > > It can be something as small as a configuration option chosen when > compiling PostgreSQL. For example - you can change between > floating-point and integer date-times at ./configure time and if you use > different settings on two identical machines then the WAL files will be > incompatible. > > The obvious incompatibility I'd expect in a 32 to 64-bit changeover > would be alignment of data fields to 32 or 64-bit boundaries. I've not > checked, but I'd be surprised if there wasn't some difference there. > > -- > Richard Huxton > Archonet Ltd > -- Dhaval Shah
"Dhaval Shah" <dhaval.shah.m@gmail.com> writes: > If I partition my disk differently between the primary and standby > will that be a problem? Only if the slave runs out of space in a place where the master doesn't. regards, tom lane