Merge pull request #12138 from supabase/chore/filter-extensions-in-docs

Chore/filter extensions in docs
This commit is contained in:
Terry Sutton authored and GitHub committed 2023-02-16 11:11:47 -03:30
commit abaf86647e
5 files changed
+418 -366

No files matched your search

-39
View File
@@ -1,39 +0,0 @@
import Link from 'next/link'
import React, { useState } from 'react'
import { GlassPanel, IconSearch, Input } from 'ui'
import extensions from '../data/extensions.json'
export default function Extensions() {
const [filter, setFilter] = useState('')
return (
<>
<div className="mb-8 grid not-prose">
<Input
placeholder="Search extensions"
icon={<IconSearch />}
value={filter}
onChange={(e) => setFilter(e.target.value)}
/>
</div>
<div className="grid sm:grid-cols-2 gap-4 not-prose">
{extensions
.filter((x) => x.name.indexOf(filter) >= 0)
.map((extension) => (
<Link passHref href={`/guides/database/extensions/${extension.name}`}>
<a>
<GlassPanel
title={<code>{extension.name}</code>}
background={false}
key={extension.name}
>
<p className=" mt-4">
{extension.comment.charAt(0).toUpperCase() + extension.comment.slice(1)}
</p>
</GlassPanel>
</a>
</Link>
))}
</div>
</>
)
}
+134
View File
@@ -0,0 +1,134 @@
import Link from 'next/link'
import React, { useState } from 'react'
import { GlassPanel, IconLink, IconX, Input } from 'ui'
import extensions from '../data/extensions.json'
type extension = {
name: string
comment: string
tags: string[]
link?: string
}
function getUniqueTags(json: extension[]) {
const tags = []
for (const item of json) {
if (item.tags) {
tags.push(...item.tags)
}
}
return [...new Set(tags)]
}
export default function Extensions() {
const [searchTerm, setSearchTerm] = useState('')
const [filters, setFilters] = useState([])
const tags = getUniqueTags(extensions)
function handleChecked(tag) {
if (filters.includes(tag)) {
setFilters(filters.filter((x) => x !== tag))
} else {
setFilters([...filters, tag])
}
}
return (
<>
<div className="mb-8 grid">
<label className="mb-2 text-xs text-scale-1100">Search extensions</label>
<Input
type="text"
placeholder="Extension name"
onChange={(e) => setSearchTerm(e.target.value)}
/>
</div>
<div className="lg:grid lg:grid-cols-12">
<div className="col-span-3 not-prose">
<div className="lg:sticky top-24">
<h3 className="text-sm text-scale-1100">Filter</h3>
<ul className="mt-3 flex flex-wrap lg:grid gap-2 grow">
{tags.sort().map((tag) => (
<li key={tag}>
<label
htmlFor={tag}
className={`text-sm text-scale-1000 py-0.5 px-2 capitalize inline-block rounded-lg hover:bg-slate-400 hover:border-slate-400 cursor-pointer border ${
filters.includes(tag) ? 'bg-slate-400 ' : ''
}`}
>
<span className="flex items-center gap-1">
<input
type="checkbox"
className="sr-only"
id={tag}
name={tag}
value={tag}
onChange={() => handleChecked(tag)}
checked={filters.includes(tag)}
/>
{tag}
<span>{filters.includes(tag) && <IconX size={12} />}</span>
</span>
</label>
</li>
))}
</ul>
<p className="mt-2">
<button
type="reset"
className="text-xs hover:underline"
onClick={() => setFilters([])}
>
Reset
</button>
</p>
</div>
</div>
<div className="col-span-9 mt-4 lg:mt-0">
<div className="grid gap-4">
{extensions
.filter((x) => x.name.indexOf(searchTerm) >= 0)
.filter((x) =>
filters.length === 0 ? x : x.tags.some((item) => filters.includes(item))
)
.map((extension) => (
<Link passHref href={`/guides/database/extensions/${extension.name}`}>
<a target="_blank" className="no-underline">
<GlassPanel title={extension.name} background={false} key={extension.name}>
<p className="mt-4">
{extension.comment.charAt(0).toUpperCase() + extension.comment.slice(1)}
</p>
</GlassPanel>
</a>
</Link>
// <div className="my-2 px-2 relative" key={extension.name}>
// <div className="border rounded-sm p-4">
// <h3 className="m-0">
// <code className="text-sm">{extension.name}</code>
// </h3>
// <p className=" mt-4">
// {extension.comment.charAt(0).toUpperCase() + extension.comment.slice(1)}
// </p>
// {extension.link && (
// <Link href={extension.link}>
// <a
// target="_blank"
// className="text-xs no-underline absolute top-2 right-4 bg-slate-200 hover:bg-slate-400 transition-colors p-2 rounded-md"
// >
// <span>
// <IconLink size={14} className="" />
// </span>
// </a>
// </Link>
// )}
// </div>
// </div>
))}
</div>
</div>
</div>
</>
)
}
+277 -314
View File
@@ -1,499 +1,462 @@
[
{
"name": "address_standardizer",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step."
"comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.",
"tags": ["Utility"],
"link": "http://supabase.com/docs/guides/extensions/etc/etc/etc"
},
{
"name": "address_standardizer-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step."
"comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.",
"tags": ["Utility"]
},
{
"name": "address_standardizer_data_us",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "Address Standardizer US dataset example"
"comment": "Address Standardizer US dataset example",
"tags": ["Dataset"]
},
{
"name": "address_standardizer_data_us-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "Address Standardizer US dataset example"
"comment": "Address Standardizer US dataset example",
"tags": ["Dataset"]
},
{
"name": "adminpack",
"schema": null,
"default_version": "2.0",
"installed_version": null,
"comment": "administrative functions for PostgreSQL"
"comment": "administrative functions for PostgreSQL",
"tags": ["Admin", "Utility"]
},
{
"name": "amcheck",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "functions for verifying relation integrity"
"comment": "functions for verifying relation integrity",
"tags": ["Admin", "Utility"]
},
{
"name": "autoinc",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "functions for autoincrementing fields"
"comment": "functions for autoincrementing fields",
"tags": ["Utility"]
},
{
"name": "bloom",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "bloom access method - signature file based index"
"comment": "bloom access method - signature file based index",
"tags": ["Index"]
},
{
"name": "btree_gin",
"schema": null,
"default_version": "1.3",
"installed_version": null,
"comment": "support for indexing common datatypes in GIN"
"comment": "support for indexing common datatypes in GIN",
"tags": ["Index"]
},
{
"name": "btree_gist",
"schema": null,
"default_version": "1.5",
"installed_version": null,
"comment": "support for indexing common datatypes in GiST"
"comment": "support for indexing common datatypes in GiST",
"tags": ["Index"]
},
{
"name": "citext",
"schema": null,
"default_version": "1.6",
"installed_version": null,
"comment": "data type for case-insensitive character strings"
"comment": "data type for case-insensitive character strings",
"tags": ["Data Type"]
},
{
"name": "cube",
"schema": null,
"default_version": "1.4",
"installed_version": null,
"comment": "data type for multidimensional cubes"
"comment": "data type for multidimensional cubes",
"tags": ["Data Type"]
},
{
"name": "dblink",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "connect to other PostgreSQL databases from within a database"
"comment": "connect to other PostgreSQL databases from within a database",
"tags": ["Admin", "Utility"]
},
{
"name": "dict_int",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "text search dictionary template for integers"
"comment": "text search dictionary template for integers",
"tags": ["Search"]
},
{
"name": "dict_xsyn",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "text search dictionary template for extended synonym processing"
"comment": "text search dictionary template for extended synonym processing",
"tags": ["Search"]
},
{
"name": "earthdistance",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "calculate great-circle distances on the surface of the Earth"
"comment": "calculate great-circle distances on the surface of the Earth",
"tags": ["Geo", "Utility"]
},
{
"name": "file_fdw",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "foreign-data wrapper for flat file access"
"comment": "foreign-data wrapper for flat file access",
"tags": ["Admin", "Utility"]
},
{
"name": "fuzzystrmatch",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "determine similarities and distance between strings"
"comment": "determine similarities and distance between strings",
"tags": ["Search"]
},
{
"name": "hstore",
"schema": null,
"default_version": "1.6",
"installed_version": null,
"comment": "data type for storing sets of (key, value) pairs"
"comment": "data type for storing sets of (key, value) pairs",
"tags": ["Data Type"]
},
{
"name": "hypopg",
"comment": "Hypothetical indexes for PostgreSQL",
"link": "https://supabase.com/docs/guides/database/extensions/hypopg",
"tags": ["Admin", "Index"]
},
{
"name": "http",
"schema": "extensions",
"default_version": "1.3",
"installed_version": "1.3",
"comment": "HTTP client for PostgreSQL, allows web page retrieval inside the database."
"comment": "HTTP client for PostgreSQL, allows web page retrieval inside the database.",
"link": "https://supabase.com/docs/guides/database/extensions/http",
"tags": ["Utility"]
},
{
"name": "insert_username",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "functions for tracking who changed a table"
"comment": "functions for tracking who changed a table",
"tags": ["Audit", "Utility"]
},
{
"name": "old_snapshot",
"comment": "utilities in support of old_snapshot_threshold",
"tags": ["Admin", "Utility"]
},
{
"name": "intagg",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "integer aggregator and enumerator (obsolete)"
"comment": "integer aggregator and enumerator (obsolete)",
"tags": ["Utility"]
},
{
"name": "intarray",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "functions, operators, and index support for 1-D arrays of integers"
"comment": "functions, operators, and index support for 1-D arrays of integers",
"tags": ["Utility"]
},
{
"name": "isn",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "data types for international product numbering standards"
"comment": "data types for international product numbering standards",
"tags": ["Data Type"]
},
{
"name": "lo",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "Large Object maintenance"
"comment": "Large Object maintenance",
"tags": ["Data Type"]
},
{
"name": "ltree",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "data type for hierarchical tree-like structures"
"comment": "data type for hierarchical tree-like structures",
"tags": ["Data Type"]
},
{
"name": "moddatetime",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "functions for tracking last modification time"
"comment": "functions for tracking last modification time",
"tags": ["Audit", "Utility"]
},
{
"name": "pageinspect",
"schema": null,
"default_version": "1.7",
"installed_version": null,
"comment": "inspect the contents of database pages at a low level"
"comment": "inspect the contents of database pages at a low level",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_buffercache",
"schema": null,
"default_version": "1.3",
"installed_version": null,
"comment": "examine the shared buffer cache"
"comment": "examine the shared buffer cache",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_cron",
"schema": "extensions",
"default_version": "1.3",
"installed_version": "1.3",
"comment": "Job scheduler for PostgreSQL"
"comment": "Job scheduler for PostgreSQL",
"link": "https://supabase.com/docs/guides/database/extensions/pgcron",
"tags": ["Utility"]
},
{
"name": "pg_freespacemap",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "examine the free space map (FSM)"
"comment": "examine the free space map (FSM)",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_graphql",
"comment": "pg_graphql: GraphQL support",
"link": "https://supabase.com/docs/guides/database/extensions/pg_graphql",
"tags": ["Utility"]
},
{
"name": "pg_hashids",
"comment": "pg_hashids",
"link": "https://supabase.com/docs/guides/database/extensions/pg_hashids",
"tags": ["Utility"]
},
{
"name": "pg_jsonschema",
"comment": "pg_jsonschema",
"link": "https://supabase.com/docs/guides/database/extensions/pg_jsonschema",
"tags": ["Utility"]
},
{
"name": "pg_net",
"comment": "Async HTTP",
"link": "https://supabase.com/docs/guides/database/extensions/pgnet",
"tags": ["Utility", "Notifications"]
},
{
"name": "pg_prewarm",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "prewarm relation data"
"comment": "prewarm relation data",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_stat_monitor",
"comment": "The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.",
"link": "https://supabase.com/docs/guides/database/extensions/pg_stat_monitor",
"tags": ["Utility"]
},
{
"name": "pg_stat_statements",
"schema": null,
"default_version": "1.7",
"installed_version": null,
"comment": "track execution statistics of all SQL statements executed"
"comment": "track execution statistics of all SQL statements executed",
"link": "https://supabase.com/docs/guides/database/extensions/pg_stat_statements",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_surgery",
"comment": "extension to perform surgery on a damaged relation",
"tags": ["Admin", "Utility"]
},
{
"name": "pg_trgm",
"schema": null,
"default_version": "1.4",
"installed_version": null,
"comment": "text similarity measurement and index searching based on trigrams"
"comment": "text similarity measurement and index searching based on trigrams",
"tags": ["Search"]
},
{
"name": "pg_visibility",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "examine the visibility map (VM) and page-level visibility info"
"comment": "examine the visibility map (VM) and page-level visibility info",
"tags": ["Admin", "Utility"]
},
{
"name": "pgaudit",
"schema": null,
"default_version": "1.4",
"installed_version": null,
"comment": "provides auditing functionality"
"comment": "provides auditing functionality",
"link": "https://supabase.com/docs/guides/database/extensions/pgaudit",
"tags": ["Audit", "Utility"]
},
{
"name": "pg_walinspect",
"comment": "functions to inspect contents of PostgreSQL Write-Ahead Log",
"tags": ["Admin", "Utility"]
},
{
"name": "pgcrypto",
"schema": "extensions",
"default_version": "1.3",
"installed_version": "1.3",
"comment": "cryptographic functions"
"comment": "cryptographic functions",
"tags": ["Utility", "Cryptography"]
},
{
"name": "pgjwt",
"schema": "extensions",
"default_version": "0.1.0",
"installed_version": "0.1.0",
"comment": "JSON Web Token API for Postgresql"
"comment": "JSON Web Token API for Postgresql",
"link": "https://supabase.com/docs/guides/database/extensions/pgjwt",
"tags": ["Utility", "Cryptography"]
},
{
"name": "pgroonga",
"comment": "Super fast and all languages supported full text search index based on Groonga",
"link": "https://supabase.com/docs/guides/database/extensions/pgroonga",
"tags": ["Search"]
},
{
"name": "pgroonga_database",
"comment": "PGroonga database management module",
"tags": ["Admin"]
},
{
"name": "pgrouting",
"comment": "pgRouting Extension",
"link": "https://supabase.com/docs/guides/database/extensions/pgrouting",
"tags": ["Geo", "Utility"]
},
{
"name": "pgrowlocks",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "show row-level locking information"
"comment": "show row-level locking information",
"tags": ["Admin", "Utility"]
},
{
"name": "pgsodium",
"comment": "Postgres extension for libsodium functions",
"link": "https://supabase.com/docs/guides/database/extensions/pgsodium",
"tags": ["Utility", "Cryptography"]
},
{
"name": "pgstattuple",
"schema": null,
"default_version": "1.5",
"installed_version": null,
"comment": "show tuple-level statistics"
"comment": "show tuple-level statistics",
"tags": ["Admin", "Utility"]
},
{
"name": "pgtap",
"schema": null,
"default_version": "1.1.0",
"installed_version": null,
"comment": "Unit testing for PostgreSQL"
"comment": "Unit testing for PostgreSQL",
"link": "https://supabase.com/docs/guides/database/extensions/pgtap",
"tags": ["Utility", "Testing"]
},
{
"name": "plcoffee",
"schema": null,
"default_version": "3.0alpha",
"installed_version": null,
"comment": "PL/CoffeeScript (v8) trusted procedural language"
"comment": "PL/CoffeeScript (v8) trusted procedural language",
"tags": ["Language"]
},
{
"name": "pljava",
"schema": null,
"default_version": "1.6.0",
"installed_version": null,
"comment": "PL/Java procedural language (https://tada.github.io/pljava/)"
"comment": "PL/Java procedural language (https://tada.github.io/pljava/)",
"tags": ["Language"]
},
{
"name": "plls",
"schema": null,
"default_version": "3.0alpha",
"installed_version": null,
"comment": "PL/LiveScript (v8) trusted procedural language"
"comment": "PL/LiveScript (v8) trusted procedural language",
"tags": ["Language"]
},
{
"name": "plpgsql",
"schema": "pg_catalog",
"default_version": "1.0",
"installed_version": "1.0",
"comment": "PL/pgSQL procedural language"
"comment": "PL/pgSQL procedural language",
"tags": ["Language"]
},
{
"name": "plpgsql_check",
"schema": null,
"default_version": "1.11",
"installed_version": null,
"comment": "extended check for plpgsql functions"
"comment": "extended check for plpgsql functions",
"href": "https://supabase.com/docs/guides/database/extensions/plpgsql_check",
"tags": ["Utility", "Testing"]
},
{
"name": "plv8",
"schema": null,
"default_version": "3.0alpha",
"installed_version": null,
"comment": "PL/JavaScript (v8) trusted procedural language"
"comment": "PL/JavaScript (v8) trusted procedural language",
"link": "http://localhost:3001/docs/guides/database/extensions/plv8",
"tags": ["Language"]
},
{
"name": "postgis",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS geometry and geography spatial types and functions"
"comment": "PostGIS geometry and geography spatial types and functions",
"link": "https://supabase.com/docs/guides/database/extensions/postgis",
"tags": ["Geo"]
},
{
"name": "postgis-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS geometry and geography spatial types and functions"
"comment": "PostGIS geometry and geography spatial types and functions",
"tags": ["Geo"]
},
{
"name": "postgis_raster",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS raster types and functions"
"comment": "PostGIS raster types and functions",
"tags": ["Geo"]
},
{
"name": "postgis_raster-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS raster types and functions"
"comment": "PostGIS raster types and functions",
"tags": ["Geo"]
},
{
"name": "postgis_sfcgal",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS SFCGAL functions"
"comment": "PostGIS SFCGAL functions",
"tags": ["Geo"]
},
{
"name": "postgis_sfcgal-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS SFCGAL functions"
"comment": "PostGIS SFCGAL functions",
"tags": ["Geo"]
},
{
"name": "postgis_tiger_geocoder",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS tiger geocoder and reverse geocoder"
"comment": "PostGIS tiger geocoder and reverse geocoder",
"tags": ["Geo"]
},
{
"name": "postgis_tiger_geocoder-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS tiger geocoder and reverse geocoder"
"comment": "PostGIS tiger geocoder and reverse geocoder",
"tags": ["Geo"]
},
{
"name": "postgis_topology",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS topology spatial types and functions"
"comment": "PostGIS topology spatial types and functions",
"tags": ["Geo"]
},
{
"name": "postgis_topology-3",
"schema": null,
"default_version": "3.1.1",
"installed_version": null,
"comment": "PostGIS topology spatial types and functions"
"comment": "PostGIS topology spatial types and functions",
"tags": ["Geo"]
},
{
"name": "postgres_fdw",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "foreign-data wrapper for remote PostgreSQL servers"
"comment": "foreign-data wrapper for remote PostgreSQL servers",
"tags": ["Admin"]
},
{
"name": "refint",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "functions for implementing referential integrity (obsolete)"
},
{
"name": "seg",
"schema": null,
"default_version": "1.3",
"installed_version": null,
"comment": "data type for representing line segments or floating-point intervals"
},
{
"name": "sslinfo",
"schema": null,
"default_version": "1.2",
"installed_version": null,
"comment": "information about SSL certificates"
},
{
"name": "tablefunc",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "functions that manipulate whole tables, including crosstab"
},
{
"name": "tcn",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "Triggered change notifications"
},
{
"name": "tsm_system_rows",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "TABLESAMPLE method which accepts number of rows as a limit"
},
{
"name": "tsm_system_time",
"schema": null,
"default_version": "1.0",
"installed_version": null,
"comment": "TABLESAMPLE method which accepts time in milliseconds as a limit"
},
{
"name": "unaccent",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "text search dictionary that removes accents"
},
{
"name": "uuid-ossp",
"schema": "extensions",
"default_version": "1.1",
"installed_version": "1.1",
"comment": "generate universally unique identifiers (UUIDs)"
},
{
"name": "vector",
"schema": "extensions",
"default_version": "0.4.0",
"installed_version": null,
"comment": "vector data type with similarity search"
},
{
"name": "xml2",
"schema": null,
"default_version": "1.1",
"installed_version": null,
"comment": "XPath querying and XSLT"
"comment": "functions for implementing referential integrity (obsolete)",
"tags": ["Utility"]
},
{
"name": "rum",
"schema": "extensions",
"default_version": "1.3.13",
"installed_version": "1.3.13",
"comment": "GIN-like index for text search"
"comment": "GIN-like index for text search",
"link": "https://supabase.com/docs/guides/database/extensions/rum",
"tags": ["Index", "Search"]
},
{
"name": "seg",
"comment": "data type for representing line segments or floating-point intervals",
"tags": ["Utility"]
},
{
"name": "sslinfo",
"comment": "information about SSL certificates",
"tags": ["Admin", "Utility"]
},
{
"name": "supautils",
"comment": "Supabase standard library",
"tags": ["Utility"]
},
{
"name": "tablefunc",
"comment": "functions that manipulate whole tables, including crosstab",
"tags": ["Utility"]
},
{
"name": "tcn",
"comment": "Triggered change notifications",
"tags": ["Utility", "Notifications"]
},
{
"name": "timescaledb",
"comment": "Enables scalable inserts and complex queries for time-series data",
"link": "https://supabase.com/docs/guides/database/extensions/timescaledb",
"tags": ["Time Series", "Data Type", "Utility"]
},
{
"name": "tsm_system_rows",
"comment": "TABLESAMPLE method which accepts number of rows as a limit",
"tags": ["Utility"]
},
{
"name": "tsm_system_time",
"comment": "TABLESAMPLE method which accepts time in milliseconds as a limit",
"tags": ["Utility"]
},
{
"name": "unaccent",
"comment": "text search dictionary that removes accents",
"tags": ["Search"]
},
{
"name": "uuid-ossp",
"comment": "generate universally unique identifiers (UUIDs)",
"link": "https://supabase.com/docs/guides/database/extensions/uuid-ossp",
"tags": ["Utility", "Data Type"]
},
{
"name": "pgvector",
"comment": "vector data type with similarity search",
"link": "https://supabase.com/docs/guides/database/extensions/pgvector",
"tags": ["AI", "Data Type", "Search"]
},
{
"name": "pg_repack",
"schema": "extensions",
"default_version": "1.4.8",
"installed_version": "1.4.8",
"comment": "optimize physical storage and remove bloat from tables and indexes"
"comment": "Optimize physical storage and remove bloat from tables and indexes",
"link": "https://supabase.com/docs/guides/database/extensions/pgrepack",
"tags": ["Admin", "Utility"]
},
{
"name": "wrappers",
"comment": "Foreign data wrappers developed by Supabase",
"link": "https://supabase.com/docs/guides/database/extensions/wrappers",
"tags": ["Admin", "Utility"]
},
{
"name": "xml2",
"comment": "XPath querying and XSLT",
"tags": ["Utility"]
}
]
+6 -12
View File
@@ -23,24 +23,18 @@ Supabase has pre-installed some of the most useful open source extensions.
2. Click **Extensions** in the sidebar.
3. Enable or disable an extension.
<video width="99%" muted playsInline controls={true}>
<source
src="https://xguihxuzqibwxjnimxev.supabase.co/storage/v1/object/public/videos/docs/toggle-extensions.mp4"
type="video/mp4"
muted
playsInline
/>
</video>
</TabPanel>
<TabPanel id="sql" label="SQL">
```sql
-- Example: enable the "pgtap" extension and ensure it is installed
create extension pgtap with schema extensions;
-- Example: enable the "pgtap" extension and ensure it is installed
create extension pgtap
with
schema extensions;
-- Example: disable the "pgtap" extension
drop extension pgtap;
drop
extension pgtap;
```
Even though the SQL code is `create extension`, this is the equivalent of "enabling the extension".
+1 -1
View File
@@ -6,7 +6,7 @@
"paths": {
"~/*": ["./*"]
},
"target": "es5",
"target": "es2015",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,