Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ajXFn-0003YK-FW for pgsql-hackers@arkaria.postgresql.org; Fri, 25 Mar 2016 19:18:39 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1ajXFm-0008T9-Gk for pgsql-hackers@arkaria.postgresql.org; Fri, 25 Mar 2016 19:18:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ajXEQ-0006yo-0L for pgsql-hackers@postgresql.org; Fri, 25 Mar 2016 19:17:14 +0000 Received: from mail-bl2on0066.outbound.protection.outlook.com ([65.55.169.66] helo=na01-bl2-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ajXEL-0000mP-Lo for pgsql-hackers@postgresql.org; Fri, 25 Mar 2016 19:17:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=UnbhRH+MCqDPGBQauYF86pfJvdZzvPTgrkZK+gYRkF4=; b=leF3BDM78oQww+DwlCUlEPnqIv9VUFq/I8acJmFuG3mupxOl9cst0sP1ahLYPnSyp8/ipaGqVYJUsmkFIEyhqcVrPzhQDYcot+2VUi235x8SmRsvWbi0ryl+OsfhHAvNu775uNhZdAl1ybHC/quuI/qQmKX0JCEhuJzISHp6tQA= Authentication-Results: postgresql.org; dkim=none (message not signed) header.d=none;postgresql.org; dmarc=none action=none header.from=BlueTreble.com; Received: from decina.local (70.113.16.71) by CY1PR11MB0684.namprd11.prod.outlook.com (10.163.236.22) with Microsoft SMTP Server (TLS) id 15.1.447.15; Fri, 25 Mar 2016 19:17:05 +0000 Subject: Re: Alter or rename enum value To: Tom Lane References: <56E049CC.8010201@dunslane.net> <25605.1457539654@sss.pgh.pa.us> <56E05635.70908@dunslane.net> <28167.1457543612@sss.pgh.pa.us> <56F49CF8.8050007@BlueTreble.com> <27476.1458876456@sss.pgh.pa.us> CC: Matthias Kurz , From: Jim Nasby Message-ID: <56F58EAC.4040802@BlueTreble.com> Date: Fri, 25 Mar 2016 14:17:00 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <27476.1458876456@sss.pgh.pa.us> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.16.71] X-ClientProxiedBy: BY2PR1001CA0068.namprd10.prod.outlook.com (10.164.163.36) To CY1PR11MB0684.namprd11.prod.outlook.com (10.163.236.22) X-MS-Office365-Filtering-Correlation-Id: 92f3913b-b208-4579-b6f2-08d354e20e0b X-Microsoft-Exchange-Diagnostics: 1;CY1PR11MB0684;2:WE00wXSVlaUhzEAaEAENitZgL3BnlRsYK9V4POUImUmMrEnIJs6LApmE/Abk+YdfjNMdDh36xDcCLvTeQBFVd9DRp1B6aTaJlAV0PDD9NbpCaN2NIJAyXjK61byr5lSmRuZlV0hqSTlJSbS31bm07bk3YaU6uty7P6vCrTotmQ6pI4HaxqyjUYOIXT8jSaBT;3:ulNCOquQWhBF/1NBvba2h8XcgY13hL7k9hFib0xt2LMVRCo7O9ky/TsAqH5u+VgMPtsN78wPvSn7bHtHzmMu6cTn/kKqu8LAfOO/VVq6tL9I5FmNtwAW5l25Y/XA3nmm;25:IAFiRuicEn+WX5TV+3sTNJ6qC34YPEjKDGX0QZPCznzw2GmmJjnZWtwzYmxO7Qkrdp0PVuumhU6cUWv6KvYs/BEdLULLJ7B8CFAmFS5IFrYS0E/vF9rhMMqMnz7t1gzPFWHFSiDoNP+NROZqOru4g8o2I53B7sQbWjiQqV9HHRRJbhf13vpk4QEfcm6zr11Ikq8FbYFECCVBzVg1adVXFqFerAVt/msPWUYtOAzR4t9dJZtmKkMgexn51Uy66Ft1xpbHcXfoxvG4oJy7ztL8xWXAG+VnjX5xffLwnRq+HUFQshcID8sDkPrkXY69eQqxo9X09/DwVtiB7VmzRnrl+ur05hKcJmN2iWlreMNDP8MTD90EOOcxIE4NA346zksNGjX9Yu6d86EyOdeOQ8iqg4TqSsNRgG/o8Gz9akugdIGoN2ItZxporWqu9k5lxqOSCGWwM/ag2KeoBxO//mkDlVqC3Q+YxtIeAaYx9dANYLguDS4/AtntO5M4Omlq3ra4Po0CvOoBexGLZjFC13FwgJ7AJPNygD/lENRLTMuQSAZa3fc7Nv/bv4Bp1glgDLSJZc8dFxBJx7qoKD3rowGxcbMcZywccxWcUGqYbv6NANGEr1VHlvpMZ9XMLUu8FtTt X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR11MB0684; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040046)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041046)(6043046);SRVR:CY1PR11MB0684;BCL:0;PCL:0;RULEID:;SRVR:CY1PR11MB0684; X-Microsoft-Exchange-Diagnostics: 1;CY1PR11MB0684;4:AkXq/H+7RuqNGjwpq5/SmlEIsA6OpIbK3BIa1ME7EVAWp67rrzdzu7KX7Twl+HBYDluVRyIuuPm++dNvMcUTy1xtBUTioa77e6nQjcSDH4NPE2Pxyc5sBRkZONykl/pUWYZWhQ1vZDCQdzgrmrMrBZNl5YF6CamysnuvEFzJSZRYyLaMAQFxsXJRJciE62XrhXcRtcbOBfNI055f1UimRNkFe+l8xaYjKnlBV/wScHDNpjAJAOBxKsndUK4bAc/hEIfZrms2SmeK3lWFUt8u6SDdJO9usFNJDNl00IhFojodgRUK3YtqJf1Xh2doG3hakRxMU02tNv/8213wy2XSZ7stP5O4jAhKKbzNHjzBYfWxohGuOHu3kfOWrhqQ3qNSbi41giW4uck1ocjQa/IY7fXvryBmgFBnSpE122VIeBo= X-Forefront-PRVS: 0892FA9A88 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(377454003)(24454002)(42186005)(33656002)(19580395003)(23746002)(83506001)(81166005)(5008740100001)(93886004)(65956001)(66066001)(86362001)(47776003)(92566002)(64126003)(1096002)(2906002)(4326007)(50466002)(36756003)(5004730100002)(189998001)(2950100001)(77096005)(110136002)(15975445007)(54356999)(87266999)(76176999)(65816999)(6116002)(3846002)(230700001)(586003)(4001350100001)(50986999)(85282002)(336755003)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR11MB0684;H:decina.local;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR11MB0684;23:EoVpwLK+efJE7nSPt5b1OxyKmzYbm/zatX279?= =?Windows-1252?Q?aYjPRLzVuAq2uUtqiKLlo9bVJUNc1kHEA//c+39A5pTrP4MG50MMbwnQ?= =?Windows-1252?Q?oG6qRf/5sVDsdlhiM8OaLJWGPojo5h6TxeoXK53+vEXGXCzydm6KT8h4?= =?Windows-1252?Q?epzBvnPoFieQMVOeYCe5Y0cdvaf8ZUeWmd0a4DBLhk+dUgm40oXnknbK?= =?Windows-1252?Q?Z3wK+n909NXiJOhwsiPtiKwWQpxoBq6/jKnbamhftUbnVaiwjWK0jpvk?= =?Windows-1252?Q?DqAYArnFKkF1Cdjg7hwhxz1yvE4wIEAJ6BUlUJ7DL8amnhjBht+oSh8N?= =?Windows-1252?Q?kzWTORkPVuA9CuDsnyYZmhLKT64Tz0vtPcBNk46kxorXv3fN2Mdi2yjh?= =?Windows-1252?Q?KqZ6tb+UvfZBGyjlgeBoCkozdD9TClN7v/N+Ohrgo26LlxJjys9h3j8M?= =?Windows-1252?Q?+6K5kXBCjStgs+vBREOlF/vSYKGn+dG8XS4YxTsTm/fWD5xOI12pUW6t?= =?Windows-1252?Q?4W6hkbHm9sgd32uvhxwM+0e3qo/LfaYQ5vFzffJNl/JbMGJUcsOne8GV?= =?Windows-1252?Q?fh4gIMkd9qZNv05JSu0EvslfNrB8dQn/iRL+G/8ZMR3dsbiGBPQ9UHx1?= =?Windows-1252?Q?p1HpDa+FU32d/mnomc8q2MtcRasdwrp4lT3Alu5wL4GyC+zIE24K8lOI?= =?Windows-1252?Q?1xAq+lOXU4s6cfT3ec2s4P1+Iz8TRDp0MPusS8ykjNhq9tQOyWsnOX70?= =?Windows-1252?Q?vinBwa4KzG5SY9wZc3pxkW13cLHPrBa7sCuWuDU92vIQRYtFxqwlH9ej?= =?Windows-1252?Q?UvNaCl9c28vOwlyUi+GK+5Oo6Ku3ptkMjcQvXVYNFc8iN5mAhDmUkGEl?= =?Windows-1252?Q?Be25TGPpuTATkvmpEzrSRd6iT4//rXKvcbPLhDdepj89155iYjkDDps/?= =?Windows-1252?Q?DUrk+dT9CDA9cAzZhtQoylwv6hEZoSYcMO0y3ccprGDRxb4YThuyiufQ?= =?Windows-1252?Q?NvbIxIQjhvGD9cIGhEuhC1tuCFXcRUC9V1ZvoQOeNujmwDTmVvuzMN9M?= =?Windows-1252?Q?CFQWDIHfHb2dUgrWoYbwqp804ekSGtVJ4rF2++h+3u7S/8vEnlSPa+vW?= =?Windows-1252?Q?H5kNh6hx+dKwZS7hc1yjK8Wk3uAdn4VLmPq1QQ7QIfMUAjdsRVVf9Njy?= =?Windows-1252?Q?v7W67BuAuOhX7yxa2BQcIELvrRCvYE=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR11MB0684;5:XbZJ4F3R+hkDstlYxBcuMlLdapyCnYXks6GcgXj97x8wx8L/z+YaxrX5fTJjKRnIKDhL10fhg+4O9ADKBdwlnQx3qqhhLM287xhKsitBBpFQzn2X5VFZ53bf8DoEblf1N2eQHTD5GBmTtJD19OY3/A==;24:45PwYbD8Buqj1+DyrCOA07uNUnOKMOJuatNUDJeGT2mTrmKp11Pt9XyorxBQd/pvtxQa+SPDF3dZsTCP6VtnL4GaMoZRc7U1PUvWyOBKyLA= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2016 19:17:05.9198 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR11MB0684 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 3/24/16 10:27 PM, Tom Lane wrote: > It's conceivable that we could do something like adding an "isdead" > column to pg_enum and making enum_in reject new values that're marked > isdead. But I can't see that we'd ever be able to support true > removal of an enum value at reasonable cost. And I'm not really sure > where the use-case argument is for working hard on it. I wonder if we could handle this by allowing foreign keys on enum columns back to pg_enum. Presumably that means we'd have to treat pg_enum as a regular table and not a catalog table. Due to locking concerns I don't think we'd want to put the FKs in place by default either. I've certainly heard people avoiding ENUMs because of their limitations, so it'd be nice if there was a way to lift them. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers