我有一个PosgresQL(10.3)数据库。数据库由user_owner创建,具有完整的结构但没有行数据。
我想远程访问数据库。使用user_owner,我可以远程访问数据库,没有任何问题。
但是,我创建了一个辅助用户user_remote。我想使用这个用户,而不是user_owner,因为我会给他临时远程访问,而user_owner用于后端代码。
对于这个用户,我给予了特权:
[42501] ERROR: permission denied for relation table_name
当我尝试连接user_remote,remote时,我可以连接到数据库,但如果我尝试做其他事情,比如SELECT,我会收到错误:
<form id="order-form">
<input id="Name" type="text" placeholder="Name" name="name" required/>
<input id="email" type="email" placeholder="Email" required/>
<textarea id="message" name="message" required cols="50" rows="5" maxlength="1000"></textarea>
<div class="g-recaptcha" data-sitekey="YOUR KEY"></div>
<button type="submit">Send</button>
</form>
如果我在数据库中连接并提供表权限,请使用:
GRANT ALL on table_name TO user_remote;
作品。
但是,我有很多桌子,以及我想要实现的目标:
1)以一个/几个步骤访问所有表的user_remote访问权限,而不是逐个表 2)我不希望user_remote拥有所有权限,只是要进行行操作(删除,更新,插入)