Datagrip:创建postgres索引而不等待执行
Posted
技术标签:
【中文标题】Datagrip:创建postgres索引而不等待执行【英文标题】:Datagrip: Create postgres index without waiting for execution 【发布时间】:2020-06-27 20:34:00 【问题描述】:有没有办法在不保持连接打开/异步的情况下将 datagrip 中的命令提交到数据库?我正在尝试同时创建索引,但我也想关闭我的笔记本电脑。
我的数据抓取工作流程: 选择数据库中的列,点击“修改列”,最终运行代码如:
create index concurrently batchdisbursements_updated_index
on de_testing.batchdisbursements (updated);
但是,这些作为后台任务运行,如果我退出 datagrip,则会取消。
【问题讨论】:
也许一个可行的解决方案是改变您关闭笔记本电脑时的功能。更改设置以简单地忽略它现在已关闭的事实。由于您没有指定您的操作系统,请参阅Windows 和Linux(Ubuntu 18.04LTS)(其他 Linux 发行版应该具有类似的功能) 原来是并发创建或者同步创建,几秒后可以取消命令,命令已经提交到服务器了。 【参考方案1】:但是,这些作为后台任务运行,如果我退出 datagrip,则会取消。
如果您在不退出 datagrip 的情况下关闭笔记本电脑会怎样?当您退出时,Datagrip 可能正在主动向 PostgreSQL 发送取消消息。如果您只是关闭笔记本电脑,我怀疑它会这样做。在这种情况下,PostgreSQL 在尝试发送消息之前不会注意到客户端已经离开,此时索引创建应该已经完成并提交。
但这是一个脆弱的计划。我会 ssh 到服务器,运行 screen
(或更高级的变体之一),在其中运行 psql
,然后从那里创建索引。
【讨论】:
以上是关于Datagrip:创建postgres索引而不等待执行的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 DataGrip 将 Postgres 数据库模式置于源代码控制之下?