In the last few chapters, we've described some of the more popular programming interfaces and procedural languages that you can use with PostgreSQL. It seems that new PostgreSQL-friendly APIs, tools, and even procedural languages appear almost daily. You can find most of “extras” at the gborg.postgresql.org or pgfoundry.org web sites. In this chapter, we'll give you a short introduction to a few of our favorite development packages. You may not have heard of these packages before, or perhaps you have but haven't had a chance to learn about them. This chapter is by no means exhaustive—there are hundreds of projects hosted at the PostgreSQL incubators.
In this chapter, we'll introduce you to PL/Java, a server-side procedural language that lets you write portable functions and stored procedures in Java. We'll also give you a very short peek at pgcurl, a small collection of functions that you can use to upload and download web documents (using HTTP, FTP, secure HTTP, secure FTP, and so on) from within a PostgreSQL server. Finally, we'll show you a replacement for the psql client that combines the convenience of the bash shell with the power of a PostgreSQL server.