Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XPXFr-00025v-Br for pgsql-admin@arkaria.postgresql.org; Thu, 04 Sep 2014 13:39:15 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XPXFq-0005gg-RX for pgsql-admin@arkaria.postgresql.org; Thu, 04 Sep 2014 13:39:14 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XPXFp-0005ei-Lm for pgsql-admin@postgresql.org; Thu, 04 Sep 2014 13:39:13 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by magus.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XPXFk-0004q4-6Y for pgsql-admin@postgresql.org; Thu, 04 Sep 2014 13:39:12 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by gateway2.nyi.internal (Postfix) with ESMTP id 2FEDF20B76 for ; Thu, 4 Sep 2014 09:39:05 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Thu, 04 Sep 2014 09:39:05 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=aklaver.com; h= message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; s=mesmtp; bh=E3BSO6idRF94XEAK8lW8Cz4Wtq8=; b=dfM2Lxv3RJ5I+C5G1o/Js8YO5vKk kCQhd+5srQL6OGeWd7ycrNDesSuJuXRUzsV9eqHQZh/nM972882wVDeOrCuuG4rZ uYJex2NvRik3G3n5JggmR5pnSx7nwWIb8k55VcYPXAhPaVA5oVGW/iSjcmAMQRt1 vOjKmE0rMXlDOtU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=E3BSO6idRF94XEAK8lW8Cz 4Wtq8=; b=aMejAzU/QCNsprbYGkuyGq+x/ZvMmXzYN5oEVi0ZFmOWy/V8p+vARs io14eqBJtGll4cTB8vZxXNtCCPxx8+8YSVug4rm1WFBA9V1RcdBam3XY1LT6rHXF bRIb0lqPO99+uV8/tSqL8NfIGy8PZL4frEX6S+oG+mU/tZpsvz2bg= X-Sasl-enc: Ok4xsp538Mdi1sc9nhdRHypwYm2qc1rLxcxrNsbiJWSw 1409837944 Received: from [192.168.1.5] (unknown [174.21.177.1]) by mail.messagingengine.com (Postfix) with ESMTPA id 6AE1B680055; Thu, 4 Sep 2014 09:39:04 -0400 (EDT) Message-ID: <54086B77.9090102@aklaver.com> Date: Thu, 04 Sep 2014 06:39:03 -0700 From: Adrian Klaver User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Alanoly Andrews , 'Craig James' CC: "pgsql-admin@postgresql.org" , "pgsql-general@postgresql.org" Subject: Re: [GENERAL] Re: Cannot retrieve images inserted through VB and odbc, after a table reorganization. References: <6909b219ecae4d41b431efdaf6c953a3@Exch2.invera.com> <5407679B.2030906@aklaver.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.7 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-admin Precedence: bulk Sender: pgsql-admin-owner@postgresql.org On 09/04/2014 05:56 AM, Alanoly Andrews wrote: > Hi Adrian, > > Thanks for that explanation of how the "relfilenode" changes after a table reorganization. It is not surprising that this happens because the table rows are being physically moved from one location to another. But such changes at the backend should be transparent to the end user. The VB code at the client side runs a simple sql like "select image from image_table where image_key=somevalue". There is no reference to postgres-specific internal variables like "oid" and "relfilenode". I do not know the inner workings of the postgres odbc driver; but I would be surprised if it works at the granularity of "oid" and "relfilenode" and that it would store the actual physical values of relfilenode (which would keep changing after every table reload, reorg etc.). In addition to what David mentioned, some more detail on what you are calling a 'large object'. In Postgres there is not really a 'large object' type(though I am guilty of saying there is), instead there is a way of working with large objects outside of the bytea type. Now in the ODBC FAQ there is a recipe for creating a 'lo' type: http://psqlodbc.projects.pgfoundry.org/faq.html#4.4 Is this what you are using? If not how are you working with the large objects? Also given that you are working with the Postgres ODBC driver, you might want to break the cross post rule and ask this question on the psql-odbc list: http://www.postgresql.org/list/pgsql-odbc/ In any case your ODBC settings would be helpful. > > Alanoly. > -- Adrian Klaver adrian.klaver@aklaver.com -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin