Do I need write access to the database in order to use Great Expectations?

If you validate an entire table in your database, having read access is sufficient.

However, if you validate the result set of a query, Great Expectations stores the result in a temporary table and then issues multiple queried against that temp table in order to compute the metrics and to decide if the data meets expectations.

Same logic applies when you create an Expectation Suite using the CLI’s suite new and suite scaffold commands - it depends whether you use an entire table or the result set of a query as a data sample that Great Expectations will analyze in order to create the suite. In the second case your permissions to the database must be high enough to allow you to create a temp table.

Thanks @eugene.mandel. I was doing a select statement. I think what threw me off is that of all the many tables in the database, only the first few were selected as options. I think I tried to input the name of the table of interest (which wasn’t one of the few listed) but was not successful. So I tried the select * from <table> approach, which seemed to get past the step. But of course errored due to permission, as you pointed out above.

With this new information, I’ll give it another shot and report back.

1 Like