Lots of good answers, thanks for another one John. I'm starting with standard rows with UUIDs, strings, longs, reals, and perhaps text. I need to go for maximum speed...most of the work on tuning is on the Postgres side. Their high-speed entry command is called COPY IN and Rob's plug-in supports it with a special command that takes the data as a BLOB. In this case, I don't have any big types, binary formats, or JSON to move. Since you bring up wire formats, I'm just thinking - 4D natively stores all text as UTF16 and my range of values all fit comfortably in Latin1. Character encodings is one of those things that I just have never take the time to get my head around. Does UTF16 take more space to store Latin1 data? It seems like it needn't, and yet when I put text into BBEdit, it takes 2x space as UTF16 than as UTF8.
If I can stuff values into a BLOB and not see them bloat, that will be great. For example, UUIDs are longs of some kind internally but become much longer strings when converted. Anyway, I am hoping for the most compact wire format possible. Note: Rob's tools also support the Postgres COPY OUT, for those following along at home. Note: COPY is the go-to bulk load optimization in Postgres, but multi-value inserts are also supposed to be a big help. I'm working through it now and can post some summary findings, if people are interested. ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

