If you've been involved in the software industry over the last few years, you've heard of Microsoft's .NET initiative. .NET is a collection of development tools and technologies that implement a portable "virtual operating system" on top of whatever operating system you happen to be running. The idea behind .NET is that you can use the development tools to build applications that run on any computer that has a copy of the .NET framework (in a fashion very similar to the Java virtual machine and Java runtime architecture). The .NET initiative was created by Microsoft and developed chiefly for Microsoft operating systems, but an open-source implementation of the .NET framework (and some of the development tools) is available for many operating systems. The open-source version of .NET is named Mono (you can find more information about Mono at www.go-mono.com).
One component of .NET is the ADO.NET Data Access framework (ADO is an acronym for Active Data Objects). ADO.NET is a set of classes (and interfaces) that make it possible to write database-independent code at a very high level. When you build an ADO.NET application, you typically interact with a set of "adapters." The adapters, in turn, interact with the database on your behalf. Npgsql is an open-source ADO.NET data provider that gives you an adapter (and other tools) that know how to interact with PostgreSQL.
In this chapter, I'll show you how to use the Npgsql data provider to create PostgreSQL-enabled applications written in Microsoft's Visual Basic (VB). You can use Npgsql with any .NET-compatible language, but VB makes it easy for novice programmers to develop attractive applications in very little time. (Oddly enough, experienced programmers tend to get bogged down with Visual Basic because we just want to write more code and, as you'll see, there's very little coding involved in simple VB applications.)
Part I: General PostgreSQL Use
Introduction to PostgreSQL and SQL
Working with Data in PostgreSQL
PostgreSQL SQL Syntax and Use
Performance
Part II: Programming with PostgreSQL
Introduction to PostgreSQL Programming
Extending PostgreSQL
PL/pgSQL
The PostgreSQL C APIlibpq
A Simpler C APIlibpgeasy
The New PostgreSQL C++ APIlibpqxx
Embedding SQL Commands in C Programsecpg
Using PostgreSQL from an ODBC Client Application
Using PostgreSQL from a Java Client Application
Using PostgreSQL with Perl
Using PostgreSQL with PHP
Using PostgreSQL with Tcl and Tcl/Tk
Using PostgreSQL with Python
Npgsql: The .NET Data Provider
Other Useful Programming Tools
Part III: PostgreSQL Administration
Introduction to PostgreSQL Administration
PostgreSQL Administration
Internationalization and Localization
Security
Replicating PostgreSQL Data with Slony
Contributed Modules
Index