Part I. Tutorial Welcome to the PostgreSQL Tutorial. The tutorial is intended to give an introduction to PostgreSQL, relational database concepts, and the SQL language. We assume some general knowledge about how to use computers and no particular Unix or programming experience is required. This tutorial is intended to provide hands-on experience with important aspects of the PostgreSQL system. It makes no attempt to be a comprehensive treatment of the topics it covers. After you have successfully completed this tutorial you will want to read the Part II section to gain a better understanding of the SQL language, or Part IV for information about developing applications with PostgreSQL. Those who provision and manage their own PostgreSQL installation should also read Part III. Table of Contents 1. Getting Started 1.1. Installation 1.2. Architectural Fundamentals 1.3. Creating a Database 1.4. Accessing a Database 2. The SQL Language 2.1. Introduction 2.2. Concepts 2.3. Creating a New Table 2.4. Populating a Table With Rows 2.5. Querying a Table 2.6. Joins Between Tables 2.7. Aggregate Functions 2.8. Updates 2.9. Deletions 3. Advanced Features 3.1. Introduction 3.2. Views 3.3. Foreign Keys 3.4. Transactions 3.5. Window Functions 3.6. Inheritance 3.7. Conclusion