tgl@xxxxxxxxxxxxx (Tom Lane) writes: > Henrik Zagerholm <henke@xxxxxx> writes: >>> Postgres has been designed as a server, and lots of >>> implementation details might not make sense in an embedded >>> context. you might be better served by SQLite, or some other >>> such library. > >> ... It is also quite crash resistant with the WAL implementation. > > One of the reasons it's crash resistant is exactly that it's *not* > embedded, and thus not subject to corruption by application-side bugs. > That concern is what has caused the developers to have zero interest > in creating an embeddable variant. Except, it appears to me that Henrik is intending to embed it not in the sense of being a "shared library with application," but rather in being "mostly hidden from users." It seems pretty reasonable to me to try to figure out a near-minimal footprint for PostgreSQL where, for instance, you might: a) Restrict TZ to GMT, and thereby eliminate most timezone data b) Restrict character encodings to C/SQL_ASCII, so that most of the encoding libraries in $PGHOME/lib/ could go away c) Drop pgxs (it's "embedded" - no further components are to be added) and #include files I'm finding my "make install" of PG 8.2 is ~15.5MB in size on Linux; if I trimmed out the above, that would probably cut the size of the install roughly in half. -- (reverse (concatenate 'string "ofni.secnanifxunil" "@" "enworbbc")) http://cbbrowne.com/info/rdbms.html "No matter how much money you spend, you can't make a racehorse out of a pig. You can, however, make an awfully fast pig." -- An old saying about program efficiency