GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - aws/pg_tle: Framework for building trusted language extensions for PostgreSQL

BranchesTags
Open more actions menu

Latest commit

 

History

227 Commits
227 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
examples
examples
 
 
include
include
 
 
src
src
 
 
test
test
 
 
tools/pg_tle_manage_local_extension
tools/pg_tle_manage_local_extension
 
 
.gitignore
.gitignore
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
GOVERNANCE.md
GOVERNANCE.md
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
pg_tle--1.0.0--1.0.1.sql
pg_tle--1.0.0--1.0.1.sql
 
 
pg_tle--1.0.0.sql
pg_tle--1.0.0.sql
 
 
pg_tle--1.0.1--1.0.4.sql
pg_tle--1.0.1--1.0.4.sql
 
 
pg_tle--1.0.4--1.1.1.sql
pg_tle--1.0.4--1.1.1.sql
 
 
pg_tle--1.0.4.sql
pg_tle--1.0.4.sql
 
 
pg_tle--1.1.0--1.1.1.sql
pg_tle--1.1.0--1.1.1.sql
 
 
pg_tle--1.1.1--1.2.0.sql
pg_tle--1.1.1--1.2.0.sql
 
 
pg_tle--1.1.1.sql
pg_tle--1.1.1.sql
 
 
pg_tle--1.2.0--1.3.0.sql
pg_tle--1.2.0--1.3.0.sql
 
 
pg_tle--1.3.0--1.3.3.sql
pg_tle--1.3.0--1.3.3.sql
 
 
pg_tle--1.3.3--1.3.4.sql
pg_tle--1.3.3--1.3.4.sql
 
 
pg_tle--1.3.4--1.4.0.sql
pg_tle--1.3.4--1.4.0.sql
 
 
pg_tle--1.4.0--1.5.0.sql
pg_tle--1.4.0--1.5.0.sql
 
 
pg_tle--1.5.0--1.5.2.sql
pg_tle--1.5.0--1.5.2.sql
 
 
pg_tle--1.5.2--1.5.3.sql
pg_tle--1.5.2--1.5.3.sql
 
 
pg_tle.control.in
pg_tle.control.in
 
 
regress.conf
regress.conf
 
 

Repository files navigation

Trusted Language Extensions for PostgreSQL (pg_tle)

Trusted Language Extensions (TLE) for PostgreSQL (pg_tle) is an open source project that lets developers extend and deploy new PostgreSQL functionality with lower administrative and technical overhead. Developers can use Trusted Language Extensions for PostgreSQL to create and install extensions on restricted filesystems and work with PostgreSQL internals through a SQL API.

  • Documentation
  • Overview
  • Getting started
  • Help & feedback
  • Contributing
  • Security
  • License

Overview

PostgreSQL provides an extension framework for adding more functionality to PostgreSQL without having to fork the codebase. This powerful mechanism lets developers build new functionality for PostgreSQL, such as new data types, the ability to communicate with other database systems, and more. It also lets developers consolidate code that is functionally related and apply a version to each change. This makes it easier to bundle and distribute software across many unique PostgreSQL databases.

Installing a new PostgreSQL extension involves having access to the underlying filesystem. Many managed service providers or systems running databases in containers disallow users from accessing the filesystem for security and safety reasons. This makes it challenging to add new extensions in these environments, as users either need to request for a managed service provider to build an extension or rebuild a container image.

Trusted Language Extensions for PostgreSQL, or pg_tle, is an extension to help developers install and manage extensions in environments that do not provide access to the filesystem. PostgreSQL provides "trusted languages" for development that have certain safety attributes, including restrictions on accessing the filesystem directly and certain networking properties. With these security guarantees in place, a PostgreSQL administrator can let unprivileged users write stored procedures in their preferred programming languages, such as PL/pgSQL, JavaScript, or Perl. PostgreSQL also provides the ability to mark an extension as "trusted" and let unprivileged users install and use extensions that do not contain code that could potentially impact the security of a system.

Getting started

To get started with pg_tle, follow the installation instructions.

Once you have installed pg_tle, we recommend writing your first TLE using the quickstart.

You can also find detailed information about the pg_tle extension management API and available hooks.

There are examples for writing TLEs in several languages, including:

  • SQL
  • PL/pgSQL
  • JavaScript
  • Perl

Supported PostgreSQL versions

pg_tle 1.5.3 supports PostgreSQL major versions 12 to 19 Beta 4.

pg_tle 1.5.0 supports PostgreSQL major versions 12 to 17.

pg_tle 1.4.0 supports PostgreSQL major versions 11 to 17.

Help & feedback

Have a question? Have a feature request? We recommend trying the following things (in this order):

  • Documentation
  • Search open issues
  • Open a new issue

Contributing

We welcome and encourage contributions to pg_tle!

See our contribution guide for more information on how to report issues, set up a development environment, and submit code.

We also recommend you read through the architecture guide to understand the pg_tle design principles!

We adhere to the Amazon Open Source Code of Conduct.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

About

Framework for building trusted language extensions for PostgreSQL

Topics

postgrespostgres-extensionpostgresqlpostgresql-extension

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

414 stars

Watchers

20 watching

Forks

43 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

Generated from amazon-archives/__template_Apache-2.0
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.