- pmpp 1.2.2
- Leverage libpq in asynchronous mode to run result-set-similar queries against one or more databases and return the results as a single result set
Poor Man's Parallel Processing (PMPP)
PMPP is an extension that provides a means of manually dividing one large query into several smaller ones that return the same shape of result set, allowing for additional query layers on the combined set. This is accomplished through use of polymorphic functions performing asynchronous libpq commands and queue management.
For function documentation and examples, see the pmpp.md file.
Requirements: PostgreSQL 9.4 or greater.
Recommended: postgresql_fdw. Having foreign server definitions and user mappings makes for cleaner function invocations.
In the directory where you downloaded pmpp, run
Log into PostgreSQL.
Run the following command:
CREATE EXTENSION pmpp;
This will create a role (if it does not already exist) named pmpp. To allow user to execute pmpp functions, grant them the role pmpp, like this:
GRANT pmpp to <role>;
PMPP makes extensive use of features introduced in PostgreSQL 9.4.0 (JSONB, WITH ORDINALITY, etc).
Run "make install" same as above to put the script files and libraries in place. Then run the following in PostgreSQL itself:
ALTER EXTENSION pmpp UPDATE TO '<latest version>';