X-Original-To: pgsql-interfaces@postgresql.org Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id C420D475458 for ; Wed, 26 Feb 2003 11:11:28 -0500 (EST) Received: from postgresql.org ([64.49.215.8]) by localhost (postgresql.org [64.49.215.8:10024]) (amavisd-new) with SMTP id 82077-06 for ; Wed, 26 Feb 2003 11:11:18 -0500 (EST) Received: from esc.esc1.com (dpc6682143102.direcpc.com [66.82.143.102]) by postgresql.org (Postfix) with ESMTP id 14EEB475A71 for ; Wed, 26 Feb 2003 11:04:18 -0500 (EST) Received: from esc1.com (IDENT:terry@localhost [127.0.0.1]) by esc.esc1.com (8.11.0/8.11.0) with ESMTP id h1QG27U16287 for ; Wed, 26 Feb 2003 11:02:07 -0500 Message-ID: <3E5CE4FF.1060500@esc1.com> Date: Wed, 26 Feb 2003 11:02:07 -0500 From: Terry Lee Tucker Organization: Enhanced Solutions Computing User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Interfaces Subject: Advice Needed Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new X-Archive-Number: 200302/114 X-Sequence-Number: 3735 Hello Everyone: I am new to PostgreSQL and I need some advice from the experts. We are writing a trucking application in X-Windows with a PostgreSQL back end. The application will support about 70 users and about 60% of those users are doing a lot of querying and updating of existing records. New data is entered daily, but the bulk of the database work is in updating existing records as they "move" through various stages of the system. We are using C with libpq-fe to access the database. The application consists of many tables and interfaces that allow users to populate certain text widgets with criteria on which they want to search for records. We are loading condensed versions of the data that matches the search criteria into a XbaeMatrix widget. If the user decides to "detail" one of the records. we find that record again and populate a different screen with the complete set of data. If they decide to edit the record. we start a transaction, open a cursor, and find the record again, redisplay it, and enable various widgets for edit. If they abort the edit, we roll back and restore the interface to the pre edit mode. If they save the record, we commit the transaction and restore to the pre edit mode. Given this scenario, here are my questions. 1. Does this model make sense based on your work with libpq-fe and postgres? 2. We are only using a binary cursor for the edit operation. Does this make sense? 3. Regarding MVCC and postgres locking model, does the above scenario seem reasonable? I hope the above rambling makes sense. Thanks for any advice anyone can provide :o) -- Sparta, NC 28675 USA 336.372.6812 http://www.esc1.com