{"id":13621546,"url":"https://github.com/aws/pg_tle","last_synced_at":"2025-04-08T11:10:37.340Z","repository":{"id":64032294,"uuid":"467580471","full_name":"aws/pg_tle","owner":"aws","description":"Framework for building trusted language extensions for PostgreSQL","archived":false,"fork":false,"pushed_at":"2025-03-19T21:22:01.000Z","size":439,"stargazers_count":357,"open_issues_count":16,"forks_count":35,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-04-01T09:35:59.867Z","etag":null,"topics":["postgres","postgres-extension","postgresql","postgresql-extension"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-08T15:59:47.000Z","updated_at":"2025-03-31T14:23:45.000Z","dependencies_parsed_at":"2023-09-21T22:27:22.883Z","dependency_job_id":"4d4c9bae-2f9e-4a15-b7e0-138936ec8a36","html_url":"https://github.com/aws/pg_tle","commit_stats":{"total_commits":192,"total_committers":26,"mean_commits":7.384615384615385,"dds":0.7395833333333333,"last_synced_commit":"f557f0c3d65f595ceff4e5dff430bd9d74126e0b"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fpg_tle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fpg_tle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fpg_tle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fpg_tle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws","download_url":"https://codeload.github.com/aws/pg_tle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829511,"owners_count":21002997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["postgres","postgres-extension","postgresql","postgresql-extension"],"created_at":"2024-08-01T21:01:07.849Z","updated_at":"2025-04-08T11:10:37.294Z","avatar_url":"https://github.com/aws.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Trusted Language Extensions for PostgreSQL (pg_tle)\n\nTrusted 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.\n\n* [Documentation](./docs/)\n* [Overview](#overview)\n* [Getting started](#getting-started)\n* [Help \u0026 feedback](#help--feedback)\n* [Contributing](#contributing)\n* [Security](#security)\n* [License](#license)\n\n## Overview\n\nPostgreSQL provides an [extension framework](https://www.postgresql.org/docs/current/extend-extensions.html) 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.\n\nInstalling 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.\n\nTrusted 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.\n\n## Getting started\n\nTo get started with `pg_tle`, follow the [installation](./docs/01_install.md) instructions.\n\nOnce you have installed `pg_tle`, we recommend writing your first TLE using the [quickstart](./docs/02_quickstart.md).\n\nYou can also find detailed information about the `pg_tle` [extension management API](./docs/03_managing_extensions.md) and [available hooks](./docs/04_hooks.md).\n\nThere are examples for writing TLEs in several languages, including:\n\n* [SQL](./docs/05_sql_examples.md)\n* [PL/pgSQL](./docs/06_plpgsql_examples.md)\n* [JavaScript](./docs/07_plv8_examples.md)\n* [Perl](./docs/08_plperl_examples.md)\n\n## Supported PostgreSQL versions\n\n`pg_tle` 1.5.0 supports PostgreSQL major versions 12 to 17.\n\n`pg_tle` 1.4.0 supports PostgreSQL major versions 11 to 17.\n\n## Help \u0026 feedback\n\nHave a question? Have a feature request? We recommend trying the following things (in this order):\n\n* [Documentation](./docs/)\n* [Search open issues](https://github.com/aws/pg_tle/issues/)\n* [Open a new issue](https://github.com/aws/pg_tle/issues/new/choose)\n\n## Contributing\n\nWe welcome and encourage contributions to `pg_tle`!\n\nSee our [contribution guide](CONTRIBUTING.md) for more information on how to report issues, set up a development environment, and submit code.\n\nWe also recommend you read through the [architecture guide](./docs/30_architecture.md) to understand the `pg_tle` design principles!\n\nWe adhere to the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws%2Fpg_tle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws%2Fpg_tle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws%2Fpg_tle/lists"}