Skip to main content

Using extensions

Extensions in PostgreSQL are additional packages that provide functionalities that are not included in the core PostgreSQL. They can enhance the database's capabilities, offering features such as data types, functions, operators, aggregate functions, and more. In this tutorial, we will learn how to use extensions in PostgreSQL.

What are Extensions?

Extensions in PostgreSQL can be considered as plug-ins that you can install into your database to provide additional functionality. For instance, some commonly used extensions include pg_stat_statements for query statistics, hstore for storing key-value pairs, and PostGIS for geographical objects.

Installing an Extension

Before you can use an extension, you must install it. An installed extension is just a database object, so you need the appropriate privileges to install it. Usually, superuser or database owner privileges are required.

Here's how you can install an extension:

CREATE EXTENSION IF NOT EXISTS extension_name;

Replace extension_name with the name of the extension you wish to install. The IF NOT EXISTS clause prevents PostgreSQL from throwing an error if the extension is already installed.

For example, to install the hstore extension, you would run:

CREATE EXTENSION IF NOT EXISTS hstore;

Viewing Installed Extensions

You can view all installed extensions in your current database using the \dx command in the PostgreSQL command-line interface, psql.

\dx

Uninstalling an Extension

If you no longer need an extension, you can uninstall it using the DROP EXTENSION command:

DROP EXTENSION IF EXISTS extension_name;

Replace extension_name with the name of the extension you wish to uninstall. The IF EXISTS clause prevents PostgreSQL from throwing an error if the extension is not installed.

For example, to uninstall the hstore extension, you would run:

DROP EXTENSION IF EXISTS hstore;

Updating an Extension

PostgreSQL also provides the ALTER EXTENSION command to update an extension:

ALTER EXTENSION extension_name UPDATE TO 'new_version';

Replace extension_name with the name of the extension and new_version with the version number you wish to update to.

For example, to update the hstore extension to version 1.4, you would run:

ALTER EXTENSION hstore UPDATE TO '1.4';

Conclusion

This tutorial introduced you to extensions in PostgreSQL. You learned what extensions are, how to install, uninstall, and update them. Extensions can significantly extend the functionality of your PostgreSQL database, so don't hesitate to explore them and use them in your projects.