Welcome to Beginning Databases with PostgreSQL.
Early in our careers, we came to recognize the qualities of open-source software. Not only
is it often completely free to use, but it can also be of extremely high quality. If you have a problem,
you can examine the source code to see how it works. If you find a bug, you can fix it yourself or
pass it on to someone else to fix it for you. We have been working with open-source software
since 1978 or so, including using the wonderful GNU tools, including GNU Emacs and GCC.
We started using Linux in 1993 and have been delighted to be able to create a complete, free
computing environment using a Linux kernel and the GNU tools, together with the X Window
System, to provide a graphical user interface. PostgreSQL fits beautifully with this, providing an
exceptional database system that adheres to the same open-source principles. (For more on
open source and the freedom it can bring, please visit http://www.opensource.org.)
Databases are remarkably useful things. Many people find a “desktop database” useful for
small applications in the office and around the home. Many web sites are data-driven, with
content being extracted from databases behind the web server. As databases are becoming
ubiquitous, we feel that there is a need for a book that includes some database theory and
teaches good practice.
We have written this book to be a general introduction to databases, with broad coverage
of the range of capabilities that modern, relational database systems have and how to use them
effectively. With PostgreSQL as their database system, no one has an excuse for not doing
things “properly.” It supports good database design, is resilient and scalable, and runs on just
about every type of computer you can think of, including Linux, UNIX, Windows, Mac OS X,
AIX, Solaris, and HP-UX.