Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ajXTr-00049n-K7 for pgsql-hackers@arkaria.postgresql.org; Fri, 25 Mar 2016 19:33:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1ajXTr-00027M-6X for pgsql-hackers@arkaria.postgresql.org; Fri, 25 Mar 2016 19:33:11 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ajXSV-0000Xf-0m for pgsql-hackers@postgresql.org; Fri, 25 Mar 2016 19:31:47 +0000 Received: from mail-bn1bon0075.outbound.protection.outlook.com ([157.56.111.75] helo=na01-bn1-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ajXSS-0001ZV-Br for pgsql-hackers@postgresql.org; Fri, 25 Mar 2016 19:31:45 +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=Tpq8EFgR3js2MuD4fRZcmIn3X+eybvZglxhA3kN9oOk=; b=HkG781ykMSRvNwTzE/cU/w0cOF0XSMZ3vu6dJcMvDtUo1DqunPumUIf2YnpvZHZTKeJKgGCh6hbzqzlOHJeG4Vv/G6FH8Yu+ZcT9dJ1UMoUidfthKLwSNGdiSpH+eBnipdZg4prRQO2LViCnhQeKYtt5SMpCoDkhlF1YygBAV90= 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 BLUPR11MB0673.namprd11.prod.outlook.com (10.163.216.143) with Microsoft SMTP Server (TLS) id 15.1.434.16; Fri, 25 Mar 2016 19:31:40 +0000 Subject: Re: Alter or rename enum value To: Gavin Flower , 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> <56F58EAC.4040802@BlueTreble.com> <56F58FF9.101@archidevsys.co.nz> CC: Matthias Kurz , From: Jim Nasby Message-ID: <56F59218.8040103@BlueTreble.com> Date: Fri, 25 Mar 2016 14:31:36 -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: <56F58FF9.101@archidevsys.co.nz> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.16.71] X-ClientProxiedBy: SN2PR80CA034.lamprd80.prod.outlook.com (10.141.39.172) To BLUPR11MB0673.namprd11.prod.outlook.com (25.163.216.143) X-MS-Office365-Filtering-Correlation-Id: 3ca8ac07-c46d-44db-2d1e-08d354e417ad X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0673;2:L8KLYsppJ8hTFbE6h7i60Dpl5VAXDmEoQONb2nVSULUgi6UvhuQz3PAj04i7HLNNWFFA4+tfnDk616iaqUp/ppR65lsJ5Us4vpgyONw+nqEf9YafeFKgwKLfhTRrFeAlaXWAphazu1Sd3UAIlbwBDsyukg3DbE7msrS5bQlkc7kM2GqJPzfD/dD/DNJvU8sb;3:yivx0CpXMSj1U9C1tsC7VEm8npITCZXmQPqwIA2TvzLrY/pLhRJPp5kKu7Pf0U4rM3BRHriMfNH9LBW3fXjCBu0yyNyzOcH8y8vFUHz+NVIaEmIcJhL4fL8/J6LHSIJ3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR11MB0673; X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0673;25:aJxepOwCc+sS+3nvukTJi9Pc+KWv3pU98z8859G/1uYosEgau6WMfpAqkLO9ra/kKHKUUfRovxeqwGGmd3rxljR40Ht+3RbN3N436O9Gq13pXrNBA4RFj6vGgfUUgieYM8kNHW4M/vF7TgwMRdlvuRnRbcuA02fF8azKwqu97EwHUXY/pMnnUyQrxXPVmlt4u+0Vj1l5m4nuRFBfRyASrzir5hlSiTxNlrVeHTz+JdQrgY70wnrulfgSabJr9/P1SfwwYZW4VfiMg1rFCqneuCUsxUyiit9Jh4IkHy0w4hx7sviOkxteo9+u28CAYfJOMfq+0gb395X0+s9zXzBCNd4nZPOs3HqY0syo7gWGWX5jJ71My660DC9U/JrFMXzTfebAofI5NIvFBESrIWPQ8LCvWaAOx+4XL7n3bVUUHYa9Nbqts9AxLXJvSp4W0KtPFJBuSd+xUEAojebBjPxOf9n9AHXXlPBqoVoQ9iYyjNze12G5E++mvVTojl5Nj2GwF93X1hfJKz6h1Phu6UdjjZMXOG9jEWsUwxTYXQ+qCftEoI3E5hqpjNeZ2OCe2W+r/Co2NNqGQarCfovr22d8OR7mFBJIAFvgMJb5s+S9c8ha0SRy+Fd4JPFc9wUjQjjOU7dCPehJ+FMSfKJ7ImtmyI1ajFTLiwLQscAQBv3BNEcIwRa/Fr/xCosQSVB3kzu5;20:saplN3LIKrVd6LGnHTP7mJbo2CKBVpO5IddYzRs2/2X/uG1qnFjZC67sdYcJvtgqJiOwBFM/XqOQFOZPMvvwgnNkFu7YIwc89gtK1cTTls2+OyfQx7ZRBP1qMcmlzHCzhLtch4xf6A3jfGMtRmE/XmWSCpDBVd4nISXvgnqCuGc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040046)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041046)(6043046);SRVR:BLUPR11MB0673;BCL:0;PCL:0;RULEID:;SRVR:BLUPR11MB0673; X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0673;4:fLtmyW4cfMJ5lkDHF09wvwfe6aQZp+e/LwNX/2JXNXVqascHWyOQEeDqVUwsfhd3kc0+o/hX9/4HQA3BhjXDdcw4l1vP3iao6WzoJfFBCX13jLZwriKa1kYhYJLPJfOJcMuVnWqoUYaAv+ADoqbm2EIu8Q+8aeBJ4mKy16IcxfCVvKnb3yoRnt0rw4KqiE1zXdFOlxB2MpW8yBde9x+kpqMCFFDo7QZFlX5g4hQQIFMOKIU5CBUas/MGBb4751ZhJqbIGnjrJV7BnchyLi8lG1QUCqD0o1dkd97cuvu9IwWTJazhiQUwhupW9rXHjDeRXr+PXebM2T+U1qOu7ne905vulG+yQ1/zBkWBd5J4VM2YIyYK8npyClIdoOtl1hU7S5L25pzTao0ZpiR4gnGJiRtFuY7K8seGZhG7JwCa+Bk= X-Forefront-PRVS: 0892FA9A88 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(24454002)(377454003)(15975445007)(76176999)(1096002)(6116002)(586003)(3846002)(230700001)(42186005)(54356999)(66066001)(5001770100001)(189998001)(65816999)(50986999)(86362001)(2950100001)(36756003)(5004730100002)(23746002)(77096005)(87266999)(80316001)(33656002)(2906002)(4326007)(93886004)(65806001)(81166005)(83506001)(65956001)(19580395003)(59896002)(47776003)(92566002)(4590100002)(5008740100001)(50466002)(85282002)(336755003)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR11MB0673;H:decina.local;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BLUPR11MB0673;23:57sVXxQWlwZQ1W7Q3+sq6ZbPj1qBdDNpju8H5?= =?Windows-1252?Q?bm97/xioKDNCBRudxdb+orHWX2wLEowsImjhI8KiPy52/GIaA2mghMpN?= =?Windows-1252?Q?Bm7qhYytBumCoHfPjTAK3Q+QmBs9+jrOg6p8tOuL3lonKVv7imt+o48N?= =?Windows-1252?Q?fmVF0j/YSrKskBCF56Y2Tn1iX3hMBQa0gWShS+NTf1HbgJRMlIE+d1Sl?= =?Windows-1252?Q?Saekei4zXkl7IaHNkqUlhns6iFVduXvfCMxTSSY/rdOxIq8yQHeNJexB?= =?Windows-1252?Q?CP8fEPK2UqpZKiLkVJRPwtw+iDARd0YMCqghxjq1mXy4o62AIjDziFi1?= =?Windows-1252?Q?xyIr16YIFopbG3eUIg4iJFXy6WQ4uxNHSI/NQltsFkVYux4iL0nDIpq/?= =?Windows-1252?Q?iBkOF351L7HGQRzGwh8pMbeBw2exUaSZdbvU2BNGBdpSMXcQATM+C/Yg?= =?Windows-1252?Q?JdGc5Qbrp1TzO/oS3UyQjoDj0UxQPtuQMv6WkCECvKQBgTKfJ9bDOSgk?= =?Windows-1252?Q?gfVoar/a6ChO4lkLYzz47OurQZUa/3F9KG6uKWK7DhC0YoondtOqns09?= =?Windows-1252?Q?UWieeBWb6Sq8nKyqI0yi/NDHydL2ruUeFcYRvXwaEbBE841YzlUoeXJc?= =?Windows-1252?Q?miw8BLzHzP4ZADVzqZmUkUb92ohAOtNvYIK9q9t3YuH7H3RXWNkKpioX?= =?Windows-1252?Q?Pw5lvndRsCsINeRyVBeVzpBr3vkKVlbXuwB/34ZOw4Femn8QwBSC1GM4?= =?Windows-1252?Q?9c+WMhIbsjJEi+syaT9/6OZGZDZj39Wmc5YQdUp9H2u35OUcq0VYOVMB?= =?Windows-1252?Q?R/TL0kz3qafyGrkkU4q+nfaXy1zotDgxrNE8yAy5V+nxmgOGvqdju+jU?= =?Windows-1252?Q?iiHgqi2LXb2qg9RfrOgGkW1wNTWNDSO5s09crpQezURgBdLWMb14wGWm?= =?Windows-1252?Q?uEml/Jl3L9VXatovW0UUZHacCUFLhnCAnJBnmJtQPbBx6/Ze9O6+GQTp?= =?Windows-1252?Q?NMpEuimLEHTlMvCBh8M1p4XJMDXkMsgFMIvhmoIQ1v8Tgg2F61fJqlUe?= =?Windows-1252?Q?T/l13uZTffG1ZlF7QCnoVyAgKl91xtMk2GCliubD04FUPT5Go+UHYhVX?= =?Windows-1252?Q?yOxXXuR3pV6rAym5L80EdZ0hj8n6QWn98kTD8nggVqWyT/oXb1JIdCXZ?= =?Windows-1252?Q?kSA6nb7ULHfJm6SwB/W1MwB7eptgWneT+30UQflxegRKT0KikxOvhl8f?= =?Windows-1252?Q?hC5QJGBe1ZX50/hBA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0673;5:slHftVgMDQwEq9sLHpvtzg6xdofRQeaLUgaVJoyk8p4iDBd8wLz+XQWMEYnb+N0rgoRrkQjlzXHXWL9zsOseSOYxM2TOb7iWpGfiMUQW0mVfmx9GP4OlzQPF7g9RFUkAQIFeL2A1cA270VRGx/ABWA==;24:Sj3nuiCGpult/rhryRg55d+edLi4Z9wbE3xu99a2YdR53VsdMIXCzBmnHotP/+MknnWBckdhj+lDVuWy560JCF08DSKM+VB1d5wP6lEfAGI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2016 19:31:40.8998 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR11MB0673 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/25/16 2:22 PM, Gavin Flower wrote: >> >> I've certainly heard people avoiding ENUMs because of their >> limitations, so it'd be nice if there was a way to lift them. > Well, I use Enums extensively in Java. > > However, I totally avoid using ENUMs in pg, due to their inflexibility! Possibly related to this, for a long time I've also wanted a way to better integrate FKs, probably via some kind of a pseudotype or maybe a special operator. The idea being that instead of manually specifying joins, you could treat a FK field in a table as a pointer and do things like: CREATE TABLE invoice(customer int NOT NULL REFERENCES(customer)); SELECT invoice.*, customer->first_name, customer->last_name, ... FROM invoice; If we had that capability, there would be less need for ENUMs. -- 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