Обсуждение: Issue with delete
Good day everyone,I have few tables where i need to delete above 50 million rows each. Since i dont want to delete them all in one shot and block my table for extended time, i am trying to use limit with delete but its giving me error every time. May i please get some assistance here? ThanksHere is what i am running:delete from mytable where id in (select id from mytable where condition=true limit 1000);where i run this, i get following error:Error: current transaction is aborted, commands ignored until end of transaction block.SQL state: 25P02.I am running it in RDS.TIA, Best,Rohit
This message stems from a previous error within the same transaction. Unlike Oracle, PostgreSQL cannot execute commands within a transaction after an error has occurred.
Make sure that this statement is the first in your transaction or use it in autocommit mode.
-- Holger Jakobs, Bergisch Gladbach, Tel. +49-178-9759012
Вложения
This message stems from a previous error within the same transaction. Unlike Oracle, PostgreSQL cannot execute commands within a transaction after an error has occurred.
Make sure that this statement is the first in your transaction or use it in autocommit mode.
-- Holger Jakobs, Bergisch Gladbach, Tel. +49-178-9759012
Am 24.06.21 um 11:08 schrieb Rohit Rajput:Good day everyone,I have few tables where i need to delete above 50 million rows each. Since i dont want to delete them all in one shot and block my table for extended time, i am trying to use limit with delete but its giving me error every time. May i please get some assistance here? ThanksHere is what i am running:delete from mytable where id in (select id from mytable where condition=true limit 1000);
Wouldn't "delete from mytable where condition=true limit 1000" be sufficient?
Regards
Dimitre
Am 24.06.21 um 11:08 schrieb Rohit Rajput:Good day everyone,I have few tables where i need to delete above 50 million rows each. Since i dont want to delete them all in one shot and block my table for extended time, i am trying to use limit with delete but its giving me error every time. May i please get some assistance here? ThanksHere is what i am running:delete from mytable where id in (select id from mytable where condition=true limit 1000);
Wouldn't "delete from mytable where condition=true limit 1000" be sufficient?
Le jeu. 24 juin 2021 à 16:02, Radoulov, Dimitre <cichomitiko@gmail.com> a écrit :
Am 24.06.21 um 11:08 schrieb Rohit Rajput:Good day everyone,I have few tables where i need to delete above 50 million rows each. Since i dont want to delete them all in one shot and block my table for extended time, i am trying to use limit with delete but its giving me error every time. May i please get some assistance here? ThanksHere is what i am running:delete from mytable where id in (select id from mytable where condition=true limit 1000);
Wouldn't "delete from mytable where condition=true limit 1000" be sufficient?
That syntax doesn't exist.
I should have tried the statement before asking, thanks!
I got confused by other databases (used it on Db2).
Best regards
Dimitre
Good day everyone,I have few tables where i need to delete above 50 million rows each. Since i dont want to delete them all in one shot and block my table for extended time, i am trying to use limit with delete but its giving me error every time. May i please get some assistance here? ThanksHere is what i am running:delete from mytable where id in (select id from mytable where condition=true limit 1000);where i run this, i get following error:Error: current transaction is aborted, commands ignored until end of transaction block.SQL state: 25P02.I am running it in RDS.TIA, Best,Rohit