我在Heroku PostgreSQL中得到了ERROR: cannot execute TRUNCATE TABLE in a read-only transaction。我该如何修复它?我正在尝试TRUNCATE一个表。我使用的是Heroku Postgres。
ERROR: cannot execute TRUNCATE TABLE in a read-only transaction
TRUNCATE
Heroku Postgres
我试着在UI中弄清楚如何更改我的权限或类似的东西,以便不仅允许运行read-only transactions。但没有成功。
read-only transactions
2ul0zpep1#
这在当前是可行的,在创建数据片段时,您必须将事务设置为“READ WRITE”。以下是一个示例:
begin; set transaction read write; Delete FROM mytable where id > 2130; COMMIT;
cig3rfwq2#
您正在查看的功能(Heroku Dataclip docs here)是特意设置为只读的。它是一个报表工具,而不是数据库管理工具。其明确的目的是允许将数据呈现给与项目相关的更广泛的人员,而不会有某些人意外(或以其他方式)删除或不正确修改数据的风险。无法将Dataclip设置为可读写。如果您希望完全控制删除/修改数据,则需要使用适当的界面,如果您更喜欢GUI,则可以使用psql或pgAdmin。
psql
mutmk8jj3#
我遇到了同样的问题,但通过添加以下内容解决了该错误:begin; set transaction read write;(不使用COMMIT;)我不再收到错误,但在架构资源管理器中看不到新表。您知道为什么吗?
begin; set transaction read write;
COMMIT;
3条答案
按热度按时间2ul0zpep1#
这在当前是可行的,在创建数据片段时,您必须将事务设置为“READ WRITE”。以下是一个示例:
cig3rfwq2#
您正在查看的功能(Heroku Dataclip docs here)是特意设置为只读的。它是一个报表工具,而不是数据库管理工具。其明确的目的是允许将数据呈现给与项目相关的更广泛的人员,而不会有某些人意外(或以其他方式)删除或不正确修改数据的风险。无法将Dataclip设置为可读写。
如果您希望完全控制删除/修改数据,则需要使用适当的界面,如果您更喜欢GUI,则可以使用
psql
或pgAdmin。mutmk8jj3#
我遇到了同样的问题,但通过添加以下内容解决了该错误:
begin; set transaction read write;
(不使用
COMMIT;
)我不再收到错误,但在架构资源管理器中看不到新表。您知道为什么吗?