Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1aBpcW-0007rY-9r for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Dec 2015 20:02:48 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1aBpcV-00010X-RX for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Dec 2015 20:02:47 +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) (envelope-from ) id 1aBpcU-0000zb-GD for pgsql-hackers@postgresql.org; Wed, 23 Dec 2015 20:02:46 +0000 Received: from mail-bn1bon0068.outbound.protection.outlook.com ([157.56.111.68] helo=na01-bn1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1aBpcQ-0000w0-5G for pgsql-hackers@postgresql.org; Wed, 23 Dec 2015 20:02: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=0ogUBIp7qczx/rJtHyhq+uhON4ag+5M762RfZo/MgHA=; b=YI2ydZTFkpmlu24wHP2FMvzh2uPDAGHJNReS/8Rsz1NwA7eRQahKSva5kmHDnV68xTIM1MSz0m6GbyPfr7yUMqMba7PNDqjwu1DxRROzA70zluTB1+rfl4MDkOTNPOeRD7D508mZLBqQ+p/wta1pDxWuS3SnUXlJzN76JninbDY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.attlocal.net (2602:306:ce8b:3460:96f:fdc3:471f:c860) by CY1PR11MB0682.namprd11.prod.outlook.com (10.163.236.20) with Microsoft SMTP Server (TLS) id 15.1.361.13; Wed, 23 Dec 2015 20:02:35 +0000 Subject: Re: tracking owner of extension-managed objects To: Robert Haas , Chapman Flack References: <56783412.6090005@anastigmatix.net> <3486.1450720004@sss.pgh.pa.us> <56785344.6080803@anastigmatix.net> <56785C8C.6060006@anastigmatix.net> CC: Tom Lane , PostgreSQL Hackers From: Jim Nasby Message-ID: <567AFDD0.9090607@BlueTreble.com> Date: Wed, 23 Dec 2015 14:02:24 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2602:306:ce8b:3460:96f:fdc3:471f:c860] X-ClientProxiedBy: BY2PR04CA023.namprd04.prod.outlook.com (10.141.249.141) To CY1PR11MB0682.namprd11.prod.outlook.com (25.163.236.20) X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0682; 2:qZSOnNTiA5Jiay0n6mOXfl5G7gkyWcr0ppgcmBIaNOaN5Nat7zDcuwe8CZ6KG2P3y1KVSIDCXZ8zjVmESKE33iF5VpO1OJoNBnA31iFlWZ12w1ziX6PoWCkIxdjYJJUVhWiVMz6sV61PyC/wQHeWKA==; 3:DSXb3dqnqUJNasJK6iiSRd2emkprlJH/tl2GfJ16nnxj6bbdYzE1SSZ2Vf4g/0KcXzylRCr2ido3B/0aogYxAEp932a7tKesb4+F33lVMBdVg99bJ7GRZmk/YRG3vy3G; 25:Jqh6A5k8kasvB6oOa6Xok5zCHEZT9wcOMWQlwwNsed2P3DcFy8VHYcKvVKdIOZGeTM+vor5cFSOlNW00vd7Iaq1GSK22YMF9TUfvWDYfWoOq5yMNstdx6OvOuKVwgZ++gTrsbrR31NZ++Y3MM4swocIGEbJPi5n4Xft3ra0BrD6DDIHAm2v49Ebq0Tnr/ZQPkthRFaE/JYWqD0kigqi7WqAwdxHjTWEACsV/0Jt7rACra8gOoX3DnHQarRFQ08rgS9fFJr0eCTg5J/nWCeabkA==; 20:+OYhUVREbArgk/lNsyD3Wz2WGTRDJQmqS29y83MhTcwbeVc43OAZHL+Hy5Z5jufqQcyidFPxuTqGc7xtYYLA1m9zCpMhnidxpuTs9CsO05btWC7pGkeE9QgUzz8Gsq+n8t8N2R8h6cOVKzbFUSapMqnybzI6ng7IlEUyz8p3I0E= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR11MB0682; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001); SRVR:CY1PR11MB0682; BCL:0; PCL:0; RULEID:; SRVR:CY1PR11MB0682; X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0682; 4:wRoVpuSEyHPR7+0m557Qo/eJJItcJlH6GiUAlqdAoJA6psOUwsH1mKdwzbAbhYQ8dwJjd97hEdKrAzCpNq2w+K/snTekz0tay6Gg7LS777weY+QVB7LFLDNcVU71MLdPBMAp0sJsG/V8HJXbAwsDU0wRgw0n+S4cWeI0ivVODQXfhzxsFAwnYp1cfli2nvyt17Ql0h/z7jxTuUutjOMFg4ea4olOPN3+yupIbVplhyyGxXk8GSA5oEsH5Tyv78N9BO/gyvNirkN+c/yt4D2KQWKw/ouAVoqfg3V80Sx4sYWtJOickRR2z5KfIcmtMA5FuhOPCtdSJ5Zv2cTN9egKDM32WO8h1lMXBVCfEU8mIzEMPq4KD7y/eBpnNfm6RaEY X-Forefront-PRVS: 0799B1B2D7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(199003)(377454003)(24454002)(479174004)(189002)(65806001)(40100003)(80316001)(69596002)(33656002)(65956001)(122386002)(19580395003)(87976001)(47776003)(53416004)(50986999)(101416001)(65816999)(76176999)(50466002)(54356999)(59896002)(87266999)(83506001)(42186005)(86362001)(64126003)(93886004)(105586002)(106356001)(230700001)(1096002)(5001770100001)(5001960100002)(189998001)(586003)(77096005)(97736004)(36756003)(5004730100002)(4001350100001)(6116002)(2950100001)(5008740100001)(15975445007)(92566002)(81156007)(23676002)(3826002)(85282002)(336755003)(18886065003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR11MB0682; H:decina.attlocal.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: bluetreble.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjExTUIwNjgyOzIzOkFoQUtXczdhS0NjdWJWWUIvS2dhUEpJMXRS?= =?utf-8?B?TllLVFNEZkZXWktIT1RISWQzc295cVFrNkNMWTNSbUJyMytpb2ZsZjlFNCs4?= =?utf-8?B?QkkxUHpyUzh1STBhTldmSHhNWWRldmd0YU55Zlk2b0dSY04veE1GN0dWT2Qv?= =?utf-8?B?b3BlcVBua0QwTmxjeVdYeXFIYUFobTBrZ3Rmbm1hUGdHcXUrdFJQVmY2RnAz?= =?utf-8?B?dC85Z2Q5VUlJcml0a0FYczB0RGtVS2xETmNScElGN1NKWmdXcEFkYjA2YWpt?= =?utf-8?B?OWtJcDZQMkpoZVpSMGRsWGFIRE52emcveU8rNGV2VTIzZEtjWDltK291L0tw?= =?utf-8?B?UXRkQ3hLUURNbmpER2R6RFFYZ2xFZGVOV0xQcmhxblY5bk5CN0VsNE1PdnFS?= =?utf-8?B?TDZITWpLcDZNdWZ0Tnl6K2dIcXFTOFVJb0RpMGphWm5LOHNmVUpFbWk2Umxm?= =?utf-8?B?WnRMdld3S3AwMitLM2xYRGs1S0FiQnBBK29ERkZtL2wzSTM3TmNXSlorYVNy?= =?utf-8?B?TjJsQzM1VVlIR29QSGc4L2xYSkVEdEM4eVRTT0xaUjQ5QjQ0WkxBSXBzcm9K?= =?utf-8?B?d1ludTczOGFCa1BiSVpKOVIxUTNRVkZYSjU3cThhcHpMNjJpYzMyejNDNU9U?= =?utf-8?B?ZEEyaG9zSkdLUExlUWVPTm00ZWFSRzlBbUo1bndLdGE0S21wcTNpRXI0T3lO?= =?utf-8?B?aTRCSWx2Y2x1bEMwdUl3Y0lHSzBLWmljUWxGSDhYWVZQVW1waHVxWUl4cHcy?= =?utf-8?B?Y2tZSHE2UVFSWVVadFV6T3dyWXJaaVBtcVVnb2VudjkvNHFkeFh0U0ZJaTBm?= =?utf-8?B?cjBlOVBqZVBDVERtc2FFRmNvTFozY0YvbGYrVTIvQ1hsTVE4QVRQOXpjejNy?= =?utf-8?B?ZmZoWXFpanFCMnBvNWI0WXlTVS9ZUWEzMTRzV2VETTgraFYzLzFnbXhVNWh1?= =?utf-8?B?K3pkVDBxZFFJN1lHbnBGNFpCbEM0ekRBQmhtMVhKeVNiSm9SNW9obXVZRFVI?= =?utf-8?B?Tkh1anpnNTF4OThOb3c4ejB5Uk9XYnV1WldTVktvU1hFQk5Yd3JVdVdCWkZ5?= =?utf-8?B?cWd1dm1MZ2VCbFV1R3NUL1IrbmM3MUwrVkl1ZXdBcnhSVXh5VzNvdGZjNktX?= =?utf-8?B?cVNlVHZseTlBREd4a3RxRWZiRFA1TXFudU1wUGwxbzlxWFEwRTRaRmlXdTkv?= =?utf-8?B?UExGNlFzQUJHTVdkNzUwTTEvaUdkeG1lQk9hZDdEZzdOakx4dGg4bFlzNFJi?= =?utf-8?B?TlovZzJqcmg0SlNSc2p3Yzgzcm5wTG9jcHNqT3lPdDN4b3JtOHIvWVlRWW0r?= =?utf-8?B?YUFBVHZDZjFzUnBvL1hCeGlXVmFhMm1uMFJhNTNQMWVrMmlvc1lIZXFjK0lF?= =?utf-8?B?Lzg4UlJvZGRXMVc2OS9KL21qTjBCeWNCVURCWWg2MWVBbVliYzVQMEJTS3hB?= =?utf-8?B?K2M4UncwM3cxNUYvMEZrRTlSYndSZ2NpS3VKQzJxRzdNd0JkanU1MzZsQjk0?= =?utf-8?B?WmpqWitBU1hGYmc1UjluazVhc09JNmY3ak5VNHMrWnlLQy9tQnhTQk1WSnZ3?= =?utf-8?B?MWtqUGcwdWtveFJQTG5PUk1QVk1DL2VhWGttNXREVlM0dEdUWUI2MFpLQXJn?= =?utf-8?B?bGFYUDh5SWptdUVTSC9JY2NOZVZqeTNibmhBWVkzT0lNMDRvNmR3NGk3cTN4?= =?utf-8?B?NFBiSmpOUXdRaEtiZ3k4bXhGU0lSWjE2aFlIRHJTcUFjTHA5WUE3QlJkVURS?= =?utf-8?B?Vyt2Q3VEVmZIL0NNM3Zzc29nWVlIOU9IUDM4UWVGRmtjRmM0eXB6SmN6cHNG?= =?utf-8?B?T3ZCRU1MOGo1b3dLS3ozZ0wvV204UE5yRG9JOEFYMExsd1V5V1dhYVRxdGpu?= =?utf-8?Q?XXYb2OBUdpOysX/1a6D11PSlKGO8MFJp?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0682; 5:TWaMyiky8CaBOALZGx/CXb6iew95rSSjN8aA3vtHbnItdIbX0NUvU5Rv7901M4s9Bgu5O3/n8YdqeexfDysAAebpXtd0MnVTpuXmC2bhwtvmX/38jfmCmYfqb9L5O3d3CjHHzDv6x0R/G9LQupsS1Q==; 24:wrS/hXF+yGI9YvAuprbypC1PXlKX+e+N7nd3oDYiU3bsxLpJ+Ct8LiN0bS3IpYc0TcdWzrbyeKON82zFtetChwuk0W2SdqROP1QXzSyXJrU= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2015 20:02:35.3791 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR11MB0682 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 12/23/15 12:26 PM, Robert Haas wrote: >> What's the lightest-weight object I can create that has an owner, >> >and whose disappearance I can be notified of? > Schema? I was thinking view or function, since then you can hide all of them in an internal-only schema. BTW, I've been pondering a very similar problem to this. I'm working on a metacoding framework, and it's inevitable that at some point it will want to know what objects it's created. I can use reg* for a lot of that, but that still doesn't let me do a foreign key. And not all objects have reg* casts last I looked. I was planning on just making a best possible attempt and solving this in an extension via a combination of event triggers, reg* and other voodoo, but being able to insert things directly into pg_(sh)depend or equivalent tables would be a lot more robust. -- 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