Our website uses cookies. By using this website, you agree to their use in accordance with the browser settings. You can modify your browser settings on your own. For more information see our Privacy Policy.



Writing User-Defined Functions in PostgreSQL

Take your PostgreSQL skills to the next level by learning how to write your own functions.

Table of contents

10 free interactive coding challenges

Lifetime access


limited to this course only


Buy now

Want a better deal?


Get unlimited lifetime access to all 63 present and future courses

Save $450

Unlimited lifetime access


to all 63 present and future courses



75% OFF

Buy now

Interactive exercises

20 h

Estimated time


Users enrolled


272 ratings

Why write your own functions? In PostgreSQL, functions allow you to perform operations that would normally take several queries and round trips. In simple words, this means you'll get your results much faster. User-defined functions extend the functionality of PostgreSQL and add convenience, improve query logic, and allow other applications to reuse your database.

In this course, you'll learn about PL/pgSQL, the most commonly used procedural language in PostgreSQL. You'll get to know the syntax of PL/pgSQL, various types of parameters that functions in PostgreSQL support (IN, OUT, INOUT parameters), and how to use complex statements in a function body. Moreover, you'll learn to write functions with hands-on, practical examples based on real-world use cases. In the final part of the course, you'll write functions implementing a simple ETL (Extract-Transform-Load) process in a data warehouse (DWH).

Writing user-defined functions is something all advanced users of databases should know. This course is ideal for aspiring database programmers and future database administrators (DBAs).

Note: Up until PostgreSQL 11, user-defined functions in PostgreSQL were sometimes also called (and used as) stored procedures. Don't be surprised if you see the term "stored procedure" refer to a user-defined function in Postgres. This course only covers creating user-defined functions in PostgreSQL.

What's in It for Me?

  • 94 interactive exercises. Learn at your own pace, from anywhere and anytime. Interact with hands-on exercises for improved retention.
  • Lifetime access to the course. When you purchase the course, you'll get instant personal access to all of its content.
  • Certificate of completion. After you successfully finish all of the exercises, you'll get a downloadable PDF certificate to showcase your accomplishment.
  • 30-day money-back guarantee. If you're not satisfied with the quality of the course, you can get a refund within 30 days of your purchase.
  • Hints for the exercises. You can ask questions and share insights with other members of our community through the Discuss tab.

What Do You Need to Take This Course?

  • A web browser and an Internet connection.
  • Basic knowledge of SQL.
  • Basic knowledge of programming.

This Course Will Teach You:

  • What a user-defined function is and when you should use it.
  • How to create a user-defined function in PostgreSQL.
  • The syntax of PostgreSQL’s most commonly used procedural language, PL/pgSQL.
  • The different types of parameters in PostgreSQL functions (IN, OUT and INOUT).
  • How you can use results of a SQL query inside a function.
  • How you can nest function calls.
  • How to return a table from a function.

Who Should Take This Course?

  • Students taking course on relational databases.
  • PostgreSQL developers.
  • Beginner Database Administrators (DBAs).
  • People interested in programming relational databases, particularly PostgreSQL.

Table of contents


Paid content


Course progress


Exercises completed


Function management

Learn how to create, remove and rename functions in PostgreSQL.


Reviews (15)

Average rating



272 ratings


5 stars


4 stars


3 stars


2 stars


1 stars