'错误:无法在Heroku PostgreSQL中的只读事务中执行TRUNCATE TABLE'

ht4b089n  于 2022-11-13  发布在  PostgreSQL
关注(0)|答案(3)|浏览(212)

我在Heroku PostgreSQL中得到了ERROR: cannot execute TRUNCATE TABLE in a read-only transaction。我该如何修复它?
我正在尝试TRUNCATE一个表。
我使用的是Heroku Postgres

我试着在UI中弄清楚如何更改我的权限或类似的东西,以便不仅允许运行read-only transactions。但没有成功。

2ul0zpep

2ul0zpep1#

这在当前是可行的,在创建数据片段时,您必须将事务设置为“READ WRITE”。以下是一个示例:

begin;
set transaction read write;

Delete FROM mytable where id > 2130;

COMMIT;
cig3rfwq

cig3rfwq2#

您正在查看的功能(Heroku Dataclip docs here)是特意设置为只读的。它是一个报表工具,而不是数据库管理工具。其明确的目的是允许将数据呈现给与项目相关的更广泛的人员,而不会有某些人意外(或以其他方式)删除或不正确修改数据的风险。无法将Dataclip设置为可读写。
如果您希望完全控制删除/修改数据,则需要使用适当的界面,如果您更喜欢GUI,则可以使用psql或pgAdmin。

mutmk8jj

mutmk8jj3#

我遇到了同样的问题,但通过添加以下内容解决了该错误:
begin; set transaction read write;
(不使用COMMIT;)我不再收到错误,但在架构资源管理器中看不到新表。您知道为什么吗?

相关问题