Thread: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

Section I - 2.9: Use SELECT to confirm set of rows before DELETE

From
PG Doc comments form
Date:
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. :)

Re: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

From
Bruce Momjian
Date:
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




Re: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

From
Adrian Wiik
Date:
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