All Projects → omniti-labs → Pg_jobmon

omniti-labs / Pg_jobmon

PostgreSQL extension which provides persistent logging within transactions and functions.

Projects that are alternatives of or similar to Pg jobmon

Pgmemento
Audit trail with schema versioning for PostgreSQL using transaction-based logging
Stars: ✭ 260 (+103.13%)
Mutual labels:  plpgsql, postgresql
Blog
Everything about database,business.(Most for PostgreSQL).
Stars: ✭ 6,330 (+4845.31%)
Mutual labels:  plpgsql, postgresql
Plpgsql check
plpgsql_check is linter tool for language PL/pgSQL (native language for PostgreSQL store procedures).
Stars: ✭ 322 (+151.56%)
Mutual labels:  plpgsql, postgresql
Sql Battleships
Play Battleships on PostgreSQL
Stars: ✭ 174 (+35.94%)
Mutual labels:  plpgsql, postgresql
Pg partman
Partition management extension for PostgreSQL
Stars: ✭ 1,085 (+747.66%)
Mutual labels:  plpgsql, postgresql
3dcitydb
3D City Database - The Open Source CityGML Database
Stars: ✭ 210 (+64.06%)
Mutual labels:  plpgsql, postgresql
Postgrest Starter Kit
Starter Kit and tooling for authoring REST API backends with PostgREST
Stars: ✭ 657 (+413.28%)
Mutual labels:  plpgsql, postgresql
Practical Sql
Code and Data for the book "Practical SQL" by Anthony DeBarros, published by No Starch Press (2018).
Stars: ✭ 392 (+206.25%)
Mutual labels:  plpgsql, postgresql
Aquameta
Web development platform built entirely in PostgreSQL
Stars: ✭ 987 (+671.09%)
Mutual labels:  plpgsql, postgresql
Pgwatch2
PostgreSQL metrics monitor/dashboard
Stars: ✭ 960 (+650%)
Mutual labels:  plpgsql, postgresql
Postgresdbsamples
Sample databases for postgres
Stars: ✭ 161 (+25.78%)
Mutual labels:  plpgsql, postgresql
Periods
PERIODs and SYSTEM VERSIONING for PostgreSQL
Stars: ✭ 101 (-21.09%)
Mutual labels:  plpgsql, postgresql
Subzero Starter Kit
Starter Kit and tooling for authoring GraphQL/REST API backends with subZero
Stars: ✭ 136 (+6.25%)
Mutual labels:  plpgsql, postgresql
Xtuple
This repository contains the source code for the database schema for the PostBooks edition of xTuple ERP and xTuple's REST API server. The REST API server is written in JavaScript running on Node.js. The database schema for PostBooks runs on a PostgreSQL database server.
Stars: ✭ 247 (+92.97%)
Mutual labels:  plpgsql, postgresql
Postgis
PostGIS spatial database extension to PostgreSQL [mirror]
Stars: ✭ 925 (+622.66%)
Mutual labels:  plpgsql, postgresql
Qt Client
This repository contains the source code for the Desktop client. The Desktop client is built using the Qt framework for C++. The client can be extended or customized using JavaScript. This client is used by all editions of xTuple ERP.
Stars: ✭ 93 (-27.34%)
Mutual labels:  plpgsql, postgresql
Serverless Postgraphql
Serverless GraphQL endpoint for PostgresSQL using AWS, serverless and PostGraphQL
Stars: ✭ 105 (-17.97%)
Mutual labels:  plpgsql, postgresql
Cstore fdw
Columnar storage extension for Postgres built as a foreign data wrapper. Check out https://github.com/citusdata/citus for a modernized columnar storage implementation built as a table access method.
Stars: ✭ 1,642 (+1182.81%)
Mutual labels:  postgresql
Backy2
backy2: Deduplicating block based backup software for ceph/rbd, image files and devices
Stars: ✭ 126 (-1.56%)
Mutual labels:  postgresql
Activerecord Pg enum
Integrate PostgreSQL's enumerated types with the Rails enum feature
Stars: ✭ 125 (-2.34%)
Mutual labels:  postgresql

Build Status PGXN version

pg_jobmon

pg_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.

For more information on how to use pg_jobmon, please see pg_jobmon/doc/pg_jobmon.md

INSTALLATION

Requirements: PostgreSQL 9.2+, dblink extension

In the directory where you downloaded pg_jobmon run

make
make install

Log into PostgreSQL and run the following commands: (Note: You can change the schema name to be whatever you wish, but it cannot be changed after installation.)

CREATE SCHEMA jobmon;
CREATE EXTENSION pg_jobmon SCHEMA jobmon;

This 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.

INSERT INTO jobmon.dblink_mapping_jobmon (username, pwd) VALUES ('rolename', 'rolepassword');

Ensure 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.

# TYPE  DATABASE       USER            ADDRESS                 METHOD
local   dbname         rolename                                md5

The following permissions should be given to the above role (substitute relevant schema names as appropriate):

grant usage on schema jobmon to rolename;
grant usage on schema dblink to rolename;
grant select, insert, update, delete on all tables in schema jobmon to rolename;
grant execute on all functions in schema jobmon to rolename;
grant all on all sequences in schema jobmon to rolename;

If 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.

INSERT INTO jobmon.dblink_mapping_jobmon (port) VALUES ('5999');

Be 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.

INSERT INTO jobmon.dblink_mapping_jobmon (host,username, pwd, port) VALUES ('host','rolename', 'rolepassword', '5999');

UPGRADE

Make sure all the upgrade scripts for the version you have installed up to the most recent version are in the $BASEDIR/share/extension folder.

ALTER EXTENSION pg_jobmon UPDATE TO '<latest version>';

For detailed change logs of each version, please see the top of each update script.

LICENSE AND COPYRIGHT

pg_jobmon is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.

Copyright (c) 2015-2018 OmniTI, Inc.

Permission 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.

IN 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.

THE 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].