chore(cnpg): enable pg_trgm #665
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar#665
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub.
Original GitHub issue: #2047
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2047
Original created: 2025-12-03T05:18:41Z
Performance: ILIKE Usage and Indexes
File: src/query/*.rs
You use ilike (case-insensitive matching) extensively for FilterOp::Like.
code
Rust
FilterOp::Like => query.filter(col_hostname.ilike(value)),
The Risk: Standard Postgres B-Tree indexes cannot be used for ILIKE queries (especially with leading wildcards like %term). These queries will result in full table scans.
Recommendation:
Ensure you have pg_trgm (trigram) extension enabled and GIN/GiST indexes on searchable text columns.
Alternatively, if strict case-insensitivity isn't required, store a normalized lowercase column (hostname_lower) and use standard equality or LIKE 'prefix%' which can use B-Trees.