• Stars
    star
    144
  • Rank 253,871 (Top 6 %)
  • Language PLpgSQL
  • License
    PostgreSQL License
  • Created over 6 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Custom PostgreSQL functions and extensions

PostgreSQL functions

A repository of custom PostgreSQL functions and extensions.

diff_tables

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.

dynamic_pivot

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 parameter.
See https://postgresql.verite.pro/blog/2018/06/19/crosstab-pivot.html for a lot of context about this function.

global_search / global_match

Two plpgsql functions that find occurrences of a string or more generally perform any kind of text-based matching 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 global_match. The search can be limited to an array of tables and/or of schemas. Progress is optionally reported by emitting raise info messages.

hamming_weight

C functions that return the number of bits set to 1 in a bytea, int or bigint value. The bytea variant is available as a built-in function (named bit_count) since PostgreSQL 14.

large_objects

lo_size

A plpgsql function that returns the size of a given large object.

lo_digest

A plperlu function that returns the digest (hash output) of a large object for any hash supported by perl's Digest module.

strings/parse_option

A simple function to parse name=value settings.

strings/plperl/multi_replace

Replace strings by other strings within a larger text, with Perl s// operator, in a single pass. Each string in the first array is replaced by the element at the same index in the second array.

tsearch/dict_maxlen

A text search dictionary to filter out tokens longer than a given length.

psql-cli

psqlrc declarations, companion scripts, tricks for the psql command-line interpreter.