PostgreSQL has a pretty decent C++ library called libpq++, with good documentation. It was quite straightforward to wrap these in C++ code that is callable from Octave. For the time being, these functions can execute select queries only. I will add code for insert and update later. There is however a fundamental problem in as much PostgreSQL, as a proper RDBMS (i.e. ignoring the object-oriented extensions for a moment) supports a lot more data types than Octave as a numerically-minded language. I therefore reduced the interface to two functions. The first is to be used for strictly numerical data and returns a single (numerical) matrix. The second can be used for various datatypes as they will be returned in string vectors, one for each column retrieved.