pgSQL4RB is the most powerful way to work
with multi-user databases in REALbasic! It excels by its stability,
full control over virtually all PostgreSQL features, ease of use,
thorough documentation, and raw speed.

It basically consists of units of
programming code, called classes, which REALbasic software developers
can include in their projects, to easily communicate with PostgreSQL
databases.

REALbasic is an object oriented, visual IDE
(Integrated Development Environment) from REAL Software. It has the fantastic advantage to work on, and compile
for, Windows, Mac OS X, Macintosh Classic, and Linux alike. pgSQL4RB
works with both the "Standard" and the "Professional" licenses of
REALbasic.

PostgreSQL is an open source database,
based on the SQL (Structured Query Language) ANSI standard for
accessing database systems. Its industrial strength and extreme feature
richness make it the choice of many developers, over other open source
and commercial databases alike.
PostgreSQL is made available for free -- even for commercial use unlike
MySQL -- by the PostgreSQL Global Development Group, under the very flexible BSD license.

The goal of pgSQL4RB is to provide a specialized
solution for REALbasic developers, to connect with PostgreSQL
databases. Its objective is to implement all PostgreSQL features, and
more.

"You are a genius.
This is so great!
Won't even be that much work to recode!"

"It's awesome. The speed is incredible,
and the bindings he provides make it really simple. Once you wrap your
head around interacting with the database via sockets, it's wonderful."

-- Brad Rhine

"It seems to be very fast and I suspect
very flexible. It also seems as stable, if not more so than anything
else I used with REALbasic."

"We might be interested in being your
first customers."

-- Lanette Miller

"No, NO I want to be first customer :-)"

"You have changed my perception of what
is possible with REALbasic."

"I estimate the speed benefits of your
approach, with the added benefit of being written entirely in REALbasic
might even make it attractive to Real Software themselves.

... Your approach looks like you'd be
able to create databases, users, organize timed backups between
different machines, being able to do bulk uploads would also make it
attractive to the users with other databases.
If the approach was across the board with every database REALbasic
works with, it would make REALbasic both a database speed demon and
amazingly stable.

Ease of use
pgSQL4RB provides an unparalleled ease of use without any compromise on
performance, or on control over your interaction with PostgreSQL.

Great time-saver
With pgSQL4RB, you can build a small frontend, compile it, and run it,
in less than 40 seconds! Just imagine how much time you will save on
larger projects.

Feature completeness
With this release, pgSQL4RB already supports about 98% of all
PostgreSQL features! You won't feel limited in your creativity and
you'll be able to push PostgreSQL to its highest gear, while remaining
in full control of even the smallest details.

Control-binding
Control-binding is a REALbasic feature, which allows you to program by
graphically binding controls together, without typing code.
Control-binding has been amply implemented in pgSQL4RB. It not only is
very easy to use, but also dramatically speeds up development. Thanks
to control-binding, it is possible to create and compile a PostgreSQL
frontend in less than a minute, with less than a dozen lines of typed
code!

Easily store JPEGs, MP3s, PDFs, etc.
(Bytea data type)
To store binary data in PostgreSQL, you need a column of type Bytea.
Sending and receiving data to and from a Bytea field, requires special
escaping and unescaping. And guess what: pgSQL4RB can do this for you!

MD5 authentication
With this way of authenticating, you'll avoid sending your password as
clear text over the network. It will be scrambled instead ("hashed" to
be precise), and be undecodable by potential snoopers. MD5
authentication is essential for your security and the protection of
your data.

Unicode UTF-8 support
Unicode UTF-8 is a text encoding which allows you to type texts in a
wide variety of alphabets. It handles virtually all characters, whether
they'd be Roman, Cyrillic, Hebrew, Arab, or Asian. UTF-8 makes it
possible to build multi-cultural applications, without any additional
work.

Automatic text encoding conversion
Unicode UTF-8 is only one of a wild variety of text encodings. In fact,
it's a real jungle out there, and the unsuspecting developer can find
himself bitten really hard, when confronted for the first time with
this issue
Fortunately, pgSQL4RB automatically takes care of any text encoding
conversions for you by default. It detects by itself in which encoding
your PostgreSQL database was defined, and makes sure all your data gets
there in that particular encoding. You don't have to worry about
encoding issues, and instead you just can focus on your real work: the
functionality you want to implement in your client application.
Automatic text encoding conversion also ensures that both Windows and
Macintosh clients can be connected simultaneously to the same database,
and have a consistent and accurate representation of textual content,
without data corruption.
Automatic Text encoding conversion can be switched off, which forces
data to be stored in Unicode UTF-8, regardless of the database's
encoding.

Automatic error and notice messages
This is a feature that can be switched on and off as you please. When
on, it displays message boxes in plain English, to communicate errors
and notices to the user in not too technical a wording.
You can switch it off temporarily, for routines which need to catch
errors in order to determine which action to take further. Or you can
switch it off completely, and provide your own messages in the error
event, for example when you want to communicate in another language
than English.
Automatic messages are another great pgSQL4RB time saver, since you
don't have to worry about implementing this yourself when not strictly
necessary.

Automatic beeps
You can switch this on and off too. When on, a system beep is emitted
for appropriate events, for example when there is an error, or when a
given query returns no records.

Automatic headers
When switched on, the headers and captions of the controls you populate
with data, will be automatically set to the column name of the
respective data. ListBoxes and BevelButtons are examples of such
controls.
To provide your own look and feel, you simply leave this off for the
control or group of controls you want.

Automatic PostgreSQL log
With a simple control-binding, you can turn an EditField into a
PostgreSQL log. While this is rarely useful for a finished client
application it is, however, an essential tool during development. The
log shows you exactly how PostgreSQL behaves and reacts while your code
executes, which allows you to tweak that code accordingly. This leaves
the guesswork out, and greatly minimizes the amount of work by trial
and error!

Manage your TCP/IP connections
With pgSQL4RB you have full control over the connections you open to
databases. You can make sure you only "consume" one connection to a
given database per client, and you can implement as many simultaneous
connections as your system will support, to several databases and
servers, all through drag and drop, control-binding, and a few lines of
code. (Hey, you just have to have some of these! ;-)

Import/Export (COPY TO/FROM STDIN/STDOUT)
When you want to import data from the client's hard disk, over the
network, into the PostgreSQL database on the server, or export data
from the server to the client's disk, you can count on the built in
support for the PostgreSQL commands COPY TO/FROM STDIN/STDOUT.

Event-based programming
The incoming messages from PostgreSQL are transformed into REALbasic
events. This turns your interaction with PostgreSQL into familiar, and
easy, event-based programming.

Notification event
pgSQL4RB supports the PostgreSQL notification mechanism, through a
notification event, in which you can code whichever steps you want your
client application to take for any given notification. For example you
could do something like this (translated to human language): "Hey,
another user just updated a record, I shall refresh your screen with
that new information."

Cross-platform development and deployment
Not only is REALbasic a really easy and rapid development environment,
but you can also choose whether you develop your project on Windows,
Macintosh Classic, or OS X. Then you can compile your single(!) project
file for any of those platforms plus Linux!

A dream of a development environment
Picture this: full access to Unix shell commands, PostgreSQL running,
the world's most advanced GUI, REALbasic running with pgSQL4RB... and
you, sitting with all of this, loaded on your Mac OS X booted
PowerBook, in your favorite wifi-enabled hot spot coffee shop! It just
can't get any better!

Try it for free
Just like REALbasic, you can try pgSQL4RB for free before you buy it,
to find out by yourself how well it works for you.