Unlocking the Power of PostgreSQL Extensions on Vultr_mobile

September 27, 2024

Unlocking the Power of PostgreSQL Extensions on Vultr

PostgreSQL is one of the most reliable and robust open-source relational database management systems (RDBMS), renowned for its robustness, flexibility, and cross-platform support. Available as a fully managed service through Vultr, Vultr Managed Databases for PostgreSQL simplifies deploying and managing this powerful database engine.

One of the key features that sets PostgreSQL apart is its extensibility. Developers and database administrators can enhance the database’s functionality through add-on modules known as extensions. These extensions provide capabilities that extend PostgreSQL’s built-in features, allowing it to handle specialized data types and functions and even enable cross-database communication.

Let’s dive deeper into PostgreSQL extensions and how they’re available directly on Vultr.

What are PostgreSQL extensions?

PostgreSQL’s extensibility allows developers to go beyond its core functionality by incorporating modules called extensions. These extensions are packages of additional functions, operators, and data types that bring new capabilities to your PostgreSQL environment.

Extensions can be helpful in various scenarios, from enhancing full-text search to geospatial data processing and even advanced performance monitoring. Leveraging the extensive open-source developer ecosystem, PostgreSQL extensions help tailor your database to meet specific use cases.

Key PostgreSQL extensions available on Vultr

Vultr offers a wide array of PostgreSQL extensions that are pre-packaged and ready for deployment:

  • address_standardizer 3.3.5: Parses addresses into constituent elements.
  • address_standardizer_data_us 3.3.5: Address standardizer using US dataset example.
  • bloom: Adds Bloom filter index access method.
  • btree_gin: Adds support for indexing common data types in GIN.
  • btree_gist: Adds support for indexing common data types in GIST.
  • citext: Adds data type for case-insensitive character strings.
  • cube: Adds data type for multidimensional cubes.
  • dblink: Enables one PostgreSQL database to connect to others from within a database.
  • dict_int: Dictionary template for enhancing full-text search capabilities.
  • earthdistance: Calculates great-circle distances on the surface of the Earth.
  • fuzzystrmatch: Enables fuzzy string matching to search for similar but not identical strings.
  • h3: Adds PostgreSQL bindings for the H3 Core Library, a hexagonal geospatial indexing system.
  • h3_postgis: Adds H3 PostGIS integration.
  • hll: Enables storing hyperloglog data.
  • hstore: Adds data type for storing sets of pairs (key, value).
  • intagg: Adds integer aggregator and enumerator.
  • intarray: Adds functions, operators and index support for 1-D integer arrays.
  • isn: Adds data type for international product numbering standards.
  • ltree: Adds data type for hierarchical tree-like structures.
  • pg_buffercache: Enables examination of the shared buffer cache.
  • pg_cron: Adds job scheduler for PostgreSQL.
  • pg_partman: Adds capability to manage partitioned tables by time or ID.
  • pg_prewarm: Enables reloading of relation data into the buffer cache.
  • pg_repack: Enables reorganization of tables in PostgreSQL with minimal locks.
  • pg_similarity: Adds support for similarity queries.
  • pg_stat_monitor: A performance monitoring tool for PostgreSQL.
  • pg_stat_statements: Provides a way of tracking planning and execution statistics for all SQL statements executed by a server.
  • pg_trgm: Adds text similarity measurement and index searching based on trigrams.
  • pgaudit: Provides detailed session/object audit logging through the standard PostgreSQL logging facility.
  • pgcrypto: Adds cryptographic functions.
  • pgrouting: Expands PostgreSQL/PostGIS to add geospatial routing functionality.
  • pgrowlocks: Shows row-level locking information.
  • pgvector: Adds support for vector similarity search.
  • pgstattuple: Shows tuple-level statistics.
  • plperl: Adds PL/Perl procedural language for functions and procedures.
  • plpgsql: Adds PL/pgSQL procedural language for functions and procedures.
  • postgis 3.3.5: Adds PostGIS geospatial data types and functions (geometry and geography).
  • postgis_legacy 3.3.5: Adds legacy function compatibility for older PostGIS versions.
  • postgis_raster 3.3.5: Adds PostGIS raster data types and functions.
  • postgis_sfcgal 3.3.5: Adds PostGIS SFCGAL functions.
  • postgis_tiger_geocoder 3.3.5: Adds PostGIS TIGER geocoder and reverse geocoder.
  • postgis_topology 3.3.5: Adds PostGIS topology spatial data types and functions.
  • postgres_fdw: Adds foreign-data wrapper enabling access to data stored in external PostgreSQL servers.
  • rum: Adds capability for RUM index method.
  • sslinfo: Provides information about the SSL certificate the current client provided when connecting to PostgreSQL.
  • tablefunc: Adds functions that manipulate whole tables.
  • timescaledb: Enables time-series workloads (multiple versions available).
    • 2.13.0
    • 2.13.1
    • 2.14.0
    • 2.14.1
    • 2.14.2
    • 2.15.0
    • 2.15.1
    • 2.15.2
  • tsm_system_rows: Adds table sampling method SYSTEM_ROWS.
  • Unaccent: Adds text search dictionary that removes accents.
  • unit: Extension for SI units.
  • uuid-ossp: Generates universally unique identifiers (UUIDs).

These extensions allow users to scale PostgreSQL from essential relational databases to robust solutions optimized for data analysis and location-based services.

Activating PostgreSQL extensions on Vultr

Vultr makes it incredibly simple to activate PostgreSQL extensions. Here’s how you can get started:

1. Spin up a PostgreSQL Instance: Log in to your Vultr control panel and deploy a PostgreSQL instance.

2. Navigate to Settings: Once your database cluster is deployed, go to the "Settings" tab in the menu on the right side.


post2_image1.png

3. Activate Extensions: In the “Available Extensions” section, you will find a list of pre-packaged extensions. To activate any of them, use the following SQL command in your PostgreSQL environment:

CREATE EXTENSION IF NOT EXISTS extension_name_here;

For example, to activate the `pg_cron` extension:

CREATE EXTENSION IF NOT EXISTS PG_CRON

4. Deactivating Extensions: If you ever need to remove an extension, you can run:

DROP EXTENSION extension_name_here;

Explore more

Ready to take your PostgreSQL environment to the next level? Check out these helpful resources to dive deeper into how to leverage PostgreSQL extensions on Vultr:

Visit Vultr Managed Databases for PostgreSQL to explore the complete list of extensions and start building your customized database environment today!

More News