When we think of programming databases, we often think of doing so either from a standard programming language, such as Python or Java, or from SQL. In the case of PostgreSQL, we get extra flexibility, in that programming languages can be external (via a client library) or internal (via the PL/* languages). However, users of Unix have one additional way to work with PostgreSQL, namely shell scripting. The Unix shell is powerful and flexible, and can be used to communicate with our database in a number of ways — for maintenance, data loading, and even executing queries. In this talk, Joe Conway describes a number of ways in which Unix shell scripts can be used to communicate with PostgreSQL, and thus integrate the database into an even wider array of tasks and systems.