I guess, the usage of a 64 bit database on a 32 bit lmdb is hard til impossible due to the fact, that lmdb is based on memory-mapping.
Thus, a converter would be necessary requiring the understanding of the underlying data format. This link The LMDB file format seems to be a good start for this.
A cheap alternative seems to be to dump the file on the 64 bit platform (mdb_dump
) and to reload it on the 32 bit platform (mdb_load
). Though, this causes limitations as pointed out in the linked man page:
Dumping and reloading databases that use user-defined comparison functions will result in new databases that use the default comparison functions. In this case it is quite likely that the reloaded database will be damaged beyond repair permitting neither record storage nor retrieval.
However, during searching the internet, I somewhere read that this can be used to port a 32 bit DB to 64 bit. I can only suspect that it should work the opposite way also (as I've never seen the format). As the dump is a text format, it should be possible – may be with an intermediate text processing step.
Another, IMHO rather cheap alternative, would be to run a 32 bit lmdb on the 64 bit platform. As I know that is common and usual on Windows, I was not (fully) sure for Linux and found this: SE: How to run 32-bit app in Ubuntu 64-bit?. Unfortunately, the questioner stated that it is not an option in this specific case.