我是 postgresql 新手,我已经在表中插入了 5000 行,但我只想从 5000 行中删除 1500 行。在这里,我没有任何删除这些行的约束。我必须从表中删除顶部或底部 1500 行。
我用谷歌搜索了很多,但没有任何线索可以不受任何限制地删除行。
任何建议都会很棒。
DELETE FROM YourTable
WHERE ctid IN (
SELECT ctid
FROM YourTable
ORDER BY timestamp
LIMIT 1500
)
Run Code Online (Sandbox Code Playgroud)
ctid 是:行版本在其表中的物理位置。请注意,虽然 ctid 可用于非常快速地定位行版本,但如果行被 VACUUM FULL 更新或移动,其 ctid 将会更改。因此 ctid 作为长期行标识符是没有用的。应使用 OID(或者更好的是用户定义的序列号)来标识逻辑行。
| 归档时间: |
|
| 查看次数: |
5075 次 |
| 最近记录: |