tgl@sss.pgh.pa.us (Tom Lane) writes:
> Henrik Zagerholm <henke@mac.se> 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