Thread: Section I - 2.9: Use SELECT to confirm set of rows before DELETE
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/14/tutorial-delete.html Description: Since this tutorial section is coined at beginners, I think it could be useful to tip users about the possibility to use a SELECT statement with the exact same qualification(s) as the DELETE statement they're planning to run to see which rows are about to be deleted, to avoid unintended deletion of rows. I suggest something like this: ... Without a qualification, DELETE will remove all rows from the given table, leaving it empty. The system will not request confirmation before doing this! You can check which rows will be deleted by any DELETE statement on the form: ```DELETE FROM tablename ... <qualificaton> ...``` by rewriting it into a corresponding SELECT statement: ```SELECT * FROM tablename ... <qualification> ...``` This is my first attempt at contributing to the community, so please be nice. :)
On Mon, Jun 6, 2022 at 09:19:17PM +0000, PG Doc comments form wrote: > The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/14/tutorial-delete.html > Description: > > Since this tutorial section is coined at beginners, I think it could be > useful to tip users about the possibility to use a SELECT statement with the > exact same qualification(s) as the DELETE statement they're planning to run > to see which rows are about to be deleted, to avoid unintended deletion of > rows. I suggest something like this: > > ... > Without a qualification, DELETE will remove all rows from the given table, > leaving it empty. The system will not request confirmation before doing > this! > > You can check which rows will be deleted by any DELETE statement on the > form: > ```DELETE FROM tablename ... <qualificaton> ...``` > by rewriting it into a corresponding SELECT statement: > ```SELECT * FROM tablename ... <qualification> ...``` > > This is my first attempt at contributing to the community, so please be > nice. :) Uh, this is more of a general SQL training that we don't normally cover in the Postgres docs --- we try to focus on Postgres-specific stuff that people need to know. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Indecision is a decision. Inaction is an action. Mark Batterson
That makes sense. Thanks for letting me know!
On Sun, Jul 10, 2022, 3:17 AM Bruce Momjian <bruce@momjian.us> wrote:
On Mon, Jun 6, 2022 at 09:19:17PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/14/tutorial-delete.html
> Description:
>
> Since this tutorial section is coined at beginners, I think it could be
> useful to tip users about the possibility to use a SELECT statement with the
> exact same qualification(s) as the DELETE statement they're planning to run
> to see which rows are about to be deleted, to avoid unintended deletion of
> rows. I suggest something like this:
>
> ...
> Without a qualification, DELETE will remove all rows from the given table,
> leaving it empty. The system will not request confirmation before doing
> this!
>
> You can check which rows will be deleted by any DELETE statement on the
> form:
> ```DELETE FROM tablename ... <qualificaton> ...```
> by rewriting it into a corresponding SELECT statement:
> ```SELECT * FROM tablename ... <qualification> ...```
>
> This is my first attempt at contributing to the community, so please be
> nice. :)
Uh, this is more of a general SQL training that we don't normally cover
in the Postgres docs --- we try to focus on Postgres-specific stuff that
people need to know.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson