A repository of custom PostgreSQL functions and extensions.
A simple plpgsql function that takes two table names (through the
regclass type), builds a query comparing their contents, runs
it, and returns a set of diff-like results with the rows that differ.
It does not require a primary key on tables to compare.
Return a CURSOR pointing to pivoted results of a query passed as the
1st parameter, with sorted headers passed as a query as the 2nd
See https://postgresql.verite.pro/blog/2018/06/19/crosstab-pivot.html for a lot of context about this function.
global_search / global_regexp_search
Two plpgsql functions that find occurrences of a string or
a regular expression in all or some of the tables of an entire
database. It returns the table, column and
ctid of the rows
containing the value, and the value itself in the case of a regexp
The search can be limited to an array of tables and/or of
schemas. Progress is optionally reported by emitting
C functions that return the number of bits set to
1 in a bytea, int
or bigint value.
A plpgsql function that returns the size of a given large object.
A plperlu function that returns the digest (hash output) of a large object for any hash supported by perl's Digest module.
A text search dictionary to filter out tokens longer than a given length.