---
title: "Understanding PostgreSQL Functions"
description: "This guide will provide you with a list of PostgreSQL built-in functions, complete with brief descriptions, code snippets."
section: "Postgres basics"
---

> **TimescaleDB is now Tiger Data.**

PostgreSQL offers a myriad of functions that are essential for data analysis, manipulation, and processing. This guide will provide you with a comprehensive list of PostgreSQL built-in functions, complete with brief descriptions, code snippets, and Timescale custom SQL queries that will take your data analysis to another level.

- [<u>Aggregate Functions</u>](https://www.timescale.com/learn/postgresql-aggregate-functions)
- [<u>Date and Time Functions</u>](https://www.timescale.com/learn/postgresql-date-and-time-functions)
- [<u>String Functions</u>](https://www.timescale.com/learn/postgresql-string-functions)
- [<u>Mathematical Functions</u>](https://www.timescale.com/learn/postgresql-mathematical-functions)
- [<u>Window Functions</u>](https://www.timescale.com/learn/postgresql-window-functions)

More on specific PostgreSQL functions:

- [`string_agg `](https://www.timescale.com/learn/postgres-string-agg-function)
- [`extract()`](https://www.timescale.com/learn/understanding-postgres-extract-function)
- [`percentile_cont() and percentile_disc()`](https://www.timescale.com/learn/understanding-percentile_cont-and-percentile_disc)
- [`rank() and dense_rank()`](https://www.timescale.com/learn/understanding-rank-and-dense_rank-in-postgres)



## Use Timescale Functions for Hyper Speed and Ease 

Now that you’ve learned the basics of PostgreSQL functions, it’s time for a better alternative. **Hyperfunctions** are a series of SQL functions within TimescaleDB that make it easier to manipulate and analyze time-series data in PostgreSQL with fewer lines of code. 

You can use hyperfunctions to calculate percentile approximations of data, compute time-weighted averages, downsample and smooth data, and perform faster `COUNT DISTINCT` queries using approximations. Moreover, hyperfunctions are simple to use: you call a hyperfunction using the same SQL syntax you know and love. 

Learn more about [hyperfunctions on our Docs page](https://docs.timescale.com/api/latest/hyperfunctions/).