search-replica
search-replica copied to clipboard
PostgreSQL logical decoding to Elasticsearch/Opensearch
Support of [PGVector](https://github.com/pgvector/pgvector) extension by adding [pgvector-go](https://github.com/pgvector/pgvector-go) type. And properly map those values to [dense vector](https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html) / [knn field](https://opensearch.org/docs/latest/search-plugins/knn/index/) Field shall be Marshaled as regular array of floats. Scope: TBD;
Basic helm chart, with - Search credentials or (optional) Elasticsearch sub-chart; - DB credentials or (optional) PostgreSQL sub-chart; - Exposed monitoring , including `PodMonitor`; - Optional preconfigured UIs: PGAdmin and...
Make configuration pluggable and implement: - Basic mandatory schema discovery Optional: - Autodiscovery based on schema, PKs, FKs - Conftags based config - External config Each config applies changes on...
SearchReplica require extensive testing, for each possible edge case and any possible load. This thread would be used for track and discussion of ongoing test progress.
Having this value _(which is parent `_id`)_ make no sense. It should be possible to skip/remove this field from inlined json. simplified E.G: ```json { "id": 100, "inlined": [ {"id":...
Restructure column magic to allow composite PK. This would probably require additional config tags for Key order specification or even template. May include composite routing keys etc...
Add possibility to recreate slot and re-index everything, instead of failing.
As [HealthChecks](https://kubernetes.io/docs/reference/using-api/health-checks/) doc says, we need ~~`/healthz`~~, `/livez` and `/readyz` endpoints. - livez - The slot should not be in a `lost` state, elastic works. - readyz - when successfully...
Following log is caused by dash `-` symbol in slot name. ``` failed to create replication slot {"slot": "search-demo", "error": "ERROR: syntax error (SQLSTATE 42601)"} ``` Proper validation and error...