Embedding Postgres "inside" an application

Started by Joe Lesterover 22 years ago3 messagesgeneral
Jump to latest
#1Joe Lester
joe_lester@sweetwater.com

Does anyone know if there's a way to embed the Postgres database inside
an application... so that it runs transparently, without the user even
having to know it's there? I would prefer to use Postgres, but I fear
that I may have to resort to mySQL or some other SQL database that can
be embedded.

I'm building a Cocoa app on OS X and am familiar with the libpq C
library. Thanks!

#2Doug McNaught
doug@mcnaught.org
In reply to: Joe Lester (#1)
Re: Embedding Postgres "inside" an application

Joe Lester <joe_lester@sweetwater.com> writes:

Does anyone know if there's a way to embed the Postgres database
inside an application... so that it runs transparently, without the
user even having to know it's there? I would prefer to use Postgres,
but I fear that I may have to resort to mySQL or some other SQL
database that can be embedded.

You can't prevent the server from running as a separate process
(without hugely major surgery) but you can certainly embed the server
in your app bundle and run it "behind the scenes". Picking a place
for the data files, etc might be a little tricky, but it should all be
doable.

AFAIK, MySQL also has to run as a server--I don't think you can link
to it as a library and access its databases from a single process.

-Doug

#3Harald Fuchs
nospam@sap.com
In reply to: Joe Lester (#1)
Re: Embedding Postgres "inside" an application

In article <m3u182mt25.fsf@varsoon.wireboard.com>,
Doug McNaught <doug@mcnaught.org> writes:

Joe Lester <joe_lester@sweetwater.com> writes:

Does anyone know if there's a way to embed the Postgres database
inside an application... so that it runs transparently, without the
user even having to know it's there? I would prefer to use Postgres,
but I fear that I may have to resort to mySQL or some other SQL
database that can be embedded.

You can't prevent the server from running as a separate process
(without hugely major surgery) but you can certainly embed the server
in your app bundle and run it "behind the scenes". Picking a place
for the data files, etc might be a little tricky, but it should all be
doable.

AFAIK, MySQL also has to run as a server--I don't think you can link
to it as a library and access its databases from a single process.

Wrong. MySQL comes in two flavors, as a standalone server and as an
embedded library.