In the previous lessons of this Postgres course, we've been exploring PostgreSQL, and we have been mostly concerned with the different datatypes and their impact on performance when querying tables. 

In the next lesson, you will explore the database management side of Postgres to connect to other databases with different users. This is an important skill to have in a real database system, since those normally have a lot of different users that need to interact with the database, and different users may have different requirements and different access levels. Being able to define the correct roles is a necessary step in making the data available to everyone.

You will learn about concepts like superusers and how they differ from regular users. You will also learn why it's important for every user to be a secured user, and how to grant and revoke user privileges. In addition, you will learn some database management concepts, such as how to create a database and how to manage connection rights.

Knowing database management concepts is a mandatory skill for any data engineer and an in-demand skill for a data analyst, so in this course (as in all of our courses) we’ll make sure you’re grasping what you’ve learned by having you apply each concept in our in-browser interactive coding environment.


  • Learn how users and databases are managed in Postgres.
  • Learn how to create users to fit with security best practices.

Lesson Outline

1. Connection String
2. Creating a User
3. User Privileges
4. Granting Privileges
5. Postgres Groups
6. Creating a database
7. Putting It All Together
8. Next steps
9. Takeaways