Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ubwsJ-007D3Y-BY for pgadmin-support@arkaria.postgresql.org; Wed, 16 Jul 2025 07:48:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ubwsH-008aWY-06 for pgadmin-support@arkaria.postgresql.org; Wed, 16 Jul 2025 07:48:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ubwsG-008aWO-P8 for pgadmin-support@lists.postgresql.org; Wed, 16 Jul 2025 07:48:21 +0000 Received: from four.baremetal.com ([67.223.102.125]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ubwsE-0081Lx-21 for pgadmin-support@lists.postgresql.org; Wed, 16 Jul 2025 07:48:21 +0000 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=darrenduncan.net; h= message-id:date:mime-version:subject:to:references:from :in-reply-to:content-type:content-transfer-encoding; s= 2024062918; bh=GtBTPJ7sPOcMcbD8F6TlzN5Dids=; b=T86zBmxPqOVMqTtqQ VMMOTRN6OPtelFTUcTORffS56hqCZbB6hYL1KYTxfkY0S/Gg04SdOVmA9tto9zce avP4DoRHeIAcm/dvoYp3EZ1d+4BrLo+Zr1S0xPLoccuAr2SdAUEn6dA5fOMl4KST ATUwkQ7o4s5VLPd+VB0eWdp23Q= Received: from [192.168.0.14] (107-190-19-247.cpe.teksavvy.com [107.190.19.247]) by four.baremetal.com (8.15.2/8.15.2) with ESMTP id 56G7mFgZ4177685 for ; Wed, 16 Jul 2025 00:48:15 -0700 Message-ID: <56cf7b10-780d-4c89-868a-6aa7a6c3d8a1@darrenduncan.net> Date: Wed, 16 Jul 2025 00:48:15 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Naming Object commands "Delete" is a source of user errors To: pgadmin-support@lists.postgresql.org References: <0f00ec11-f8e7-4688-9580-9206fd9aebdc@darrenduncan.net> <01020198122b4fa8-37d1f889-e6c1-4bb9-87a4-1b3ca0ffc8c3-000000@eu-west-1.amazonses.com> Content-Language: en-US From: Darren Duncan In-Reply-To: <01020198122b4fa8-37d1f889-e6c1-4bb9-87a4-1b3ca0ffc8c3-000000@eu-west-1.amazonses.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2025-07-16 12:38 a.m., Ray O'Donnell wrote: > On 16 July 2025 08:19:09 Darren Duncan wrote: > >> I am finding that it is a recurring and damaging source of user error that >> Object/Explorer commands named "Delete" actually correspond to SQL DROP rather >> than SQL DELETE or TRUNCATE. Multiple times I have accidentally dropped tables >> when I meant to just truncate them. > > In fairness, you don't (SQL) DELTE tables - you delete their rows, hence the > command is DELETE FROM. And it is intuitive that when you right-click on an > object and click "Delete", it is the object itself which gets zapped. Also, > TRUNCATE is there in the menu too. Yes, (SQL) DELETE does not remove the table objects themselves, just the rows in them, hence the problem that users would see "Delete" in the pgAdmin menus and choose it instinctively thinking that removing just records is what would happen. While Truncate is also in the menus, it is further down and often missed when one sees Delete and thinks that's what I want and stops reading further. > Having said that, I recall that the menu used to say "Drop" rather than > "Delete", which IMHO is clearer to SQL-savvy people.... it got changed at some > point. And SQL-savvy people are the primary user base of pgAdmin I would assume. Best for this command to line up to avoid confusion of the same term being used for 2 very different meanings. Following a renaming to Drop it should be very easy and quick for people to adapt to. Those that don't have the cognitive dissonance would still recognize what the command does. IMPORTANT: Alphabetically, Drop and Delete are about in the same positions in each menu, so those wondering where Delete went would see the similar-appearance Drop in the same place and should infer through English if not SQL that it does the same thing. Darren Duncan