Eric Davies <Eric@xxxxxxxxxxxxx> writes: > Now I'm trying to make the functions transaction safe. In theory, all > I need to do is convert my libpq calls to equivalent SPI calls. > However, there don't appear to be any SPI equivalents for the large > object functions like lo_write and lo_read. What do you need SPI for? Call the functions directly. See src/include/libpq/be-fsstubs.h src/backend/libpq/be-fsstubs.c regards, tom lane