> On 2 Dec 2025, at 03:46, Steve Chavez <[email protected]> wrote:
> Currently misspelled columns offer a hint but not misspelled relations. The tab-completion in psql is one tool offered to avoid misspellings which reduce the need. > One problem is that scanning all pg_class entries can get expensive on big > catalogs, so the number of searches is capped by MAX_REL_HINT_CANDIDATES. > I've set this to 4096 arbitrarily, any guidance on what would be a good > number is appreciated. Personally I've seen a catalog that contains 125K > tables, with mostly auto generated names. For these cases I don't think the > hint helps that much anyway, so it seemed fine to bail here. What makes hints for columns appealing is that it's a pretty contained problem across data we've already accumulated, relations are quite different as they require a catalog lookup making it a lot less appealing. The number of relations can easily become quite large, especially when large partitioning hierarchies are involved, and while capping prevents large scans there is no guarantee that the MAX_REL_HINT_CANDIDATES set contains the most likely entries. Worst case is that it never contains the a close enough match and we'll spend a scan + hash + calculation of MAX_REL_HINT_CANDIDATES for each typo. Are there ways you can pare down the scan, perhaps a scankey on relispartition and only consider base relations? Hinting on relations can also give hints for relations the user does not have permissions on which further reduce the useability. -- Daniel Gustafsson
