-
Notifications
You must be signed in to change notification settings - Fork 17
Home
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.
-
PGFoundationClient & PGFoundationServer are foundation tools which demonstrate how to use the frameworks on the command-line, rather than in GUI applications.
-
PGControlsKit provides some handy Cocoa view and window controllers you can use in your applications for provide login dialogs, console views and result views.
-
PGServer & PGClient are user-space server applications to demonstrate the use of the frameworks in Cocoa. The former implements an embedded 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. The latter is a vague implementation of psql
-
(Still to be written is a clone of psql for iOS)
#Screenshots!
Here is a screenshot of the PGServer application, after the initialization of a new database server:
Here is the PGServer configuration screen:
Here is a screenshot of the connection window, which is available for use in your cocoa applications by using the PGControlsKit framework:
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.