In our other courses on SQL, you have been introduced to SQLite, one of the most common database engines. SQLite databases save all the data to a single file, making it portable and easy to develop with. But because all of the data is saved on a single file, SQLite does not scale well. Luckily, there is an alternative: PostgresSQL.

In this lesson, you will be using Postgres or PostgreSQL, an open source database engine that is implemented as a server rather than a single file. You’ll learn how to connect to a Postgres database and perform basic SQL queries. In addition to connecting to a Postgres database, you will be also using the open source psycopg2 Python library to communicate with our Postgres server.

In this course, you will also learn how to create a table and load a CSV file into the table, and you’ll learn about what transactions are and what they are important.

Knowing how to work with Postgres is a critical skill for any data engineer. As you work with through each concept in the lessons of this course, you’ll get to apply what you’ve learned from within your browser so that there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer checking so you can ensure that you've fully mastered each concept before learning the next concept.


  • Learn about the basics of the Postgres database.
  • Learn what makes Postgres different from SQLite.

Lesson Outline

1. Introducint PostgreSQL
2. Connecting to Postgres
3. Interacting with the Database
4. Creating a Table
5. SQL Transactions
6. The Commit Method
7. Local State and Commits
8. The General Workflow
9. Inserting the Data into A Table
10. Copying the Data Into A Table
11. Next steps
12. Takeaways