Skip to content
This repository has been archived by the owner on Jan 22, 2024. It is now read-only.
David Thorpe edited this page Jan 9, 2015 · 24 revisions

This set of frameworks and test applications provides a kit of frameworks and tools for deploying the PostgreSQL database on the Mac OS X operating system and on iOS. For more information on PostgreSQL see: http://www.postgresql.org/.

The code provided will compile to the following products:

  • PGServerKit provides an emdedded PostgreSQL database which runs locally in user-space. You can start and stop the database programatically, edit access control, configuration and perform data backups of the database. This database could be used if you want to provide a persistent data store in your application which is "beefier" than using SQLite, for example.

  • PGClientKit provides an embedded client library, which is simply an interface to the normal postgres "libpq" library, for Mac and iOS. It translates many PostgreSQL types to and from native Foundation types (NSString, NSNumber, etc) and a way to extend to support more types.

  • PGServer is a user-space server application which allows you to configure, run, administer and monitor a PostgresSQL server. It's purely an example of using PGServerKit and PGClientKit, since running a postgresql server in user-space isn't necessarily the best approach.

  • PGClient is a user-space client application which allows you to administer and use a remote PostgreSQL server. Again, it's an example of using PGClientKit to connect to remote databases. There are variants of PGClientKit for Mac and iOS.

  • PGFoundationClient & PGFoundationServer are foundation tools which demonstrate how to use the frameworks on the command-line, rather than in GUI applications.

#Screenshots!

Here is a screenshot of the PGServer application, after the initialization of a new database server:

PGServer screenshot

Here is the PGServer configuration screen:

PGServer screenshot

More screenshots of PGServer and PGClient on their respective product pages.

#Building

There are several targets in the XCode project. Some of these are for the Mac OS X platform, and some for iOS. To compile frameworks for release, you'll need to run the following command:

etc/build-frameworks.sh

The built frameworks for Macintosh work with Mac 10.10 and the ones for iOS should work for 8.1. You can also run through the unit tests using the following command:

etc/test-frameworks.sh

You can also build the Mac OS X and iOS applications using the following two commands:

etc/build-macapps.sh
etc/build-iosapps.sh

#Limitations

This software is in development and as such there are plenty of limitations and probably issues. These are listed on each component page. If you know of any issues or feature requests, please let me know and I may be able to help out.

Clone this wiki locally