pg_textsearch was originally named Tapir (Textual Analysis for Postgres Information Retrieval), which remains the project mascot and appears in some source names.
Install PostgreSQL 17 or 18 and its development headers, then build and install the extension:
make
make installAdd pg_textsearch to shared_preload_libraries, restart PostgreSQL, and run
the installed-extension regression suite:
make installcheckSee test/README.md for a temporary-cluster target and the specialized test suites.
Run:
make
make installcheck
make format-checkChanges to storage, WAL, the memtable cache, compaction, or deferred reclaim
also require the relevant shell and replication tests documented in
test/README.md. If output changes intentionally, review and
update the corresponding file under test/expected/.
Follow the PostgreSQL coding conventions:
- Wrap lines at 79 characters and indent with tabs.
- Use Allman braces, with opening braces on a new line.
- Put
postgres.hfirst in C source files. - Write project includes as paths relative to
src/, such as#include "segment/segment.h".
Use make format to apply formatting and make format-check to verify it.
See ARCHITECTURE.md for the source layout, storage design, and invariants that changes must preserve.
Open focused pull requests against main. Explain the problem and approach,
list the tests run, note user-visible or compatibility effects, and link
related issues. Keep commits clear and scoped to the change.
Performance work should include relevant measurements; see benchmarks/README.md for the benchmark tooling.
Search existing issues first. Bug reports should include PostgreSQL and pg_textsearch versions, operating system, reproduction steps, expected and actual behavior, and relevant logs. Feature requests should describe the problem, proposed outcome, and alternatives considered.
Use GitHub Issues for bugs and feature requests, and GitHub Discussions for general questions.
By contributing, you agree that your contributions are licensed under the PostgreSQL License.