On Mon, 2023-11-20 at 13:44 -0800, Christophe Pettus wrote: > > > > On Nov 20, 2023, at 13:41, David Gauthier <dfgpostg...@gmail.com> > > wrote: > > I want the users to be required to provide a value for ssn in the > > following query... > > "select * from huge_view where ssn = '106-91-9930' " > > I never want them to query the view without specifying ssn. > > It has to do with resources and practicality. > > > > Is there a way to do that ? > > Not in a way that PostgreSQL itself will enforce. If you are > concerned about a query running wild and taking up resources, > setting statement_timeout for the user that will be running these > queries is the best way forward. A user that has general access to > PostgreSQL and can run arbitrary queries will be able to craft a > query that takes up a lot of system time and memory without too > much trouble.
If it's really about SSN's it might be more about bulk access to PII than performance. A function is probably the right choice in either case.