{"id":13813389,"url":"https://github.com/omniti-labs/pg_jobmon","last_synced_at":"2025-08-20T04:32:46.392Z","repository":{"id":2812093,"uuid":"3813393","full_name":"omniti-labs/pg_jobmon","owner":"omniti-labs","description":"PostgreSQL extension which provides persistent logging within transactions and functions. ","archived":false,"fork":false,"pushed_at":"2022-05-26T18:44:20.000Z","size":198,"stargazers_count":176,"open_issues_count":1,"forks_count":16,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-11-26T11:22:48.068Z","etag":null,"topics":["autonomous-transactions","postgresql","stored-procedures"],"latest_commit_sha":null,"homepage":"https://omniti.com","language":"PLpgSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omniti-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-23T22:53:42.000Z","updated_at":"2024-11-23T04:09:45.000Z","dependencies_parsed_at":"2022-09-11T19:01:40.927Z","dependency_job_id":null,"html_url":"https://github.com/omniti-labs/pg_jobmon","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omniti-labs%2Fpg_jobmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omniti-labs%2Fpg_jobmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omniti-labs%2Fpg_jobmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omniti-labs%2Fpg_jobmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omniti-labs","download_url":"https://codeload.github.com/omniti-labs/pg_jobmon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230394228,"owners_count":18218707,"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":["autonomous-transactions","postgresql","stored-procedures"],"created_at":"2024-08-04T04:01:16.125Z","updated_at":"2024-12-19T07:06:58.765Z","avatar_url":"https://github.com/omniti-labs.png","language":"PLpgSQL","funding_links":[],"categories":["PLpgSQL"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.com/omniti-labs/pg_jobmon.svg?branch=master)](https://travis-ci.com/omniti-labs/pg_jobmon)\n[![PGXN version](https://badge.fury.io/pg/pg_jobmon.svg)](https://badge.fury.io/pg/pg_jobmon)\n\npg_jobmon\n=========\n\npg_jobmon is a PostgreSQL extension designed to add autonomous logging capabilities to transactions and functions. The logging is done in a NON-TRANSACTIONAL method, so that if your function/transaction fails for any reason, any information written to that point will be kept in the log tables rather than rolled back.\n\nFor more information on how to use pg_jobmon, please see [pg_jobmon/doc/pg_jobmon.md](doc/pg_jobmon.md)\n\n\nINSTALLATION\n------------\n\nRequirements: PostgreSQL 9.2+, [dblink extension](https://www.postgresql.org/docs/current/static/dblink.html)\n\nIn the directory where you downloaded pg_jobmon run\n\n    make\n    make install\n\nLog into PostgreSQL and run the following commands: \n(Note: You can change the schema name to be whatever you wish, but it cannot be changed after installation.)\n\n    CREATE SCHEMA jobmon;\n    CREATE EXTENSION pg_jobmon SCHEMA jobmon;\n\nThis extension uses dblink to connect back to the same database that pg_jobmon is running in (this is how the non-transactional magic is done). To allow non-superusers to use dblink, you'll need to enter role credentials into the dblink_mapping_jobmon table that pg_jobmon installs.\n    \n    INSERT INTO jobmon.dblink_mapping_jobmon (username, pwd) VALUES ('rolename', 'rolepassword');\n\nEnsure you add the relevant line to the pg_hba.conf file for this role. It will be connecting back to the same postgres database locally.\n    \n    # TYPE  DATABASE       USER            ADDRESS                 METHOD\n    local   dbname         rolename                                md5\n\nThe following permissions should be given to the above role (substitute relevant schema names as appropriate):\n    \n    grant usage on schema jobmon to rolename;\n    grant usage on schema dblink to rolename;\n    grant select, insert, update, delete on all tables in schema jobmon to rolename;\n    grant execute on all functions in schema jobmon to rolename;\n    grant all on all sequences in schema jobmon to rolename;\n\nIf you're running PostgreSQL on a port other than the default (5432), you can also use the dblink_mapping_jobmon table to change the port that dblink will use.\n\n    INSERT INTO jobmon.dblink_mapping_jobmon (port) VALUES ('5999');\n\nBe aware that the dblink_mapping_jobmon table can only have a single row, so if you're using a custom host, role or different port, you will need to enter those values within a single row. None of the columns are required, so just use the ones you need for your setup.\n\n    INSERT INTO jobmon.dblink_mapping_jobmon (host, hostaddr, username, pwd, port) VALUES ('host', 'hostaddr', 'rolename', 'rolepassword', '5999');\n\nUPGRADE\n-------\n\nMake sure all the upgrade scripts for the version you have installed up to the most recent version are in the $BASEDIR/share/extension folder. \n\n    ALTER EXTENSION pg_jobmon UPDATE TO '\u003clatest version\u003e';\n\nFor detailed change logs of each version, please see the top of each update script.\n\nLICENSE AND COPYRIGHT\n---------------------\n\npg_jobmon is released under the [PostgreSQL License](https://opensource.org/licenses/PostgreSQL), a liberal Open Source license, similar to the BSD or MIT licenses.\n\nCopyright (c) 2015-2018 [OmniTI, Inc.](https://omniti.com)\n\nPermission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.\n\nIN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN \"AS IS\" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomniti-labs%2Fpg_jobmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomniti-labs%2Fpg_jobmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomniti-labs%2Fpg_jobmon/lists"}