Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UeftK-00065e-FD for pgsql-general@arkaria.postgresql.org; Tue, 21 May 2013 06:17:46 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.72) (envelope-from ) id 1UeftJ-0000Uz-SO for pgsql-general@arkaria.postgresql.org; Tue, 21 May 2013 06:17:45 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UeftI-0000Uu-Pp for pgsql-general@postgresql.org; Tue, 21 May 2013 06:17:44 +0000 Received: from mail-ob0-x235.google.com ([2607:f8b0:4003:c01::235]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UeftB-00018y-RM for pgsql-general@postgresql.org; Tue, 21 May 2013 06:17:43 +0000 Received: by mail-ob0-f181.google.com with SMTP id dn14so282863obc.40 for ; Mon, 20 May 2013 23:17:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding:x-antivirus :x-antivirus-status; bh=fKng3ZnYKbDN9vVP9WtlY3kC9iWRYmjikoox6/oPJBE=; b=v1ykb2qwttUL2p3X28JN1K/MNg/r2q4nV0AVhvaAGxVjDIzhspKRToUK84+mkSq7I3 FOCbOge5lNBzjv3cDCH75N14AZYoPP/+Fjjtb92VnFngGPwXfhtUuPaLqWcGzEhVCtlP CkwszUvOr+6TskHlhPkJD+g/P75BLecSUv3wZ5xzLFvRlKLMcYWrWi3wDoJwxamf/41u XLBkDZrwnYsQ9YX/WcBsW08EgMsjUjzVLMeLKSRTRNlvbGV3IQ+KV6vfQ9TaVpBlgXio 36fCnuRq3L3lsnBeGaKD03AdBk2vbwY/8yczGodwl/FMnhvNH94ol62EqjJ7cwyx5Aaj 94DQ== X-Received: by 10.60.79.68 with SMTP id h4mr548344oex.39.1369117056097; Mon, 20 May 2013 23:17:36 -0700 (PDT) Received: from [127.0.0.1] (host-64-47-77-150.masergy.com. [64.47.77.150]) by mx.google.com with ESMTPSA id z5sm1326186obw.4.2013.05.20.23.17.34 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 20 May 2013 23:17:35 -0700 (PDT) Message-ID: <519B1175.1060105@gmail.com> Date: Tue, 21 May 2013 02:17:25 -0400 From: Guy Rouillier User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 To: pgsql-general@postgresql.org Subject: Re: ODBC constructs References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 130520-1, 05/20/2013), Outbound message X-Antivirus-Status: Clean X-Pg-Spam-Score: 0.7 (/) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-general Precedence: bulk Sender: pgsql-general-owner@postgresql.org On 5/21/2013 1:11 AM, Dev Kumkar wrote: > Thanks for the comments. Yes objective is to work in C and found libpq > useful but am not sure about psqlODBC. > It would be really great to get comments from community here regarding > comparison between both of them and also performance perspective. Based > on my reading so far libpq is good from performance perspective. One advantage of an abstraction layer is that it allows you to switch the underlying DBMS with few if any changes to your code. ODBC is just one of many available abstraction layers. So, one thing to consider is if your application is intended to be at all generic, or if it is specifically targeted to PostgreSQL. If the former, then you should consider an abstraction layer; if not, then libpq is fine. Another determinant for many people is what they already know. If I'm doing a quick, one-time app and I know ODBC but I don't know libpq, I might choose to just stick with what I know and use ODBC. So, really, the first decision you should make is how general you want your app to be, and how long you expect to use it. Other decisions flow from there. -- Guy Rouillier -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general