I have a query:
x
DROP TABLE IF EXISTS abc;
CREATE TABLE abc AS
SELECT title
FROM people
WHERE title like 'ram%'
GRANT SELECT ON abc IN SCHEMA public TO ram;
But on running this: I get the following syntax error:
(psycopg2.errors.SyntaxError) syntax error at or near "IN"
LINE 26: GRANT SELECT ON abc IN SCHEMA publi
without grant query its working fine.
What am I missing here?
Advertisement
Answer
To specify the schema, use ON public.abc
.
The syntax IN SCHEMA public
can only be used with ON ALL TABLES
.
Also, you have to separate CREATE TABLE
and GRANT
with a semicolon, as they are two separate statements.