Re: Guarantee uniqueness of PGP key
D. Duccini <duccini@backpack.com>
From: "D. Duccini" <duccini@backpack.com>
To: andre <andre@liquidprivacy.net>
Cc: pgsql-sql@postgresql.org, pgsql-novice@postgresql.org
Date: 2002-05-21T02:37:33Z
Lists: pgsql-novice, pgsql-sql
good grief yeah, look at using the MD5 or SHA1 hash of the key itself -d On Mon, 20 May 2002, andre wrote: > Hi, > > More generically, how do I best guarantee that any large varchar is unique > before inserting? > > In my application, I need to ensure that each e-mail address and > corresponding PGP public key are both unique. > > I originally implemented this by adding a uniqueness contrainst to both > columns. easy. > > The problem is that some PGP keys are over 2713 bytes, and postgres (7.2) > gives the error: > > ERROR: btree: index item size 4336 exceeds maximum 2713 > > I thought perhaps I could use a hash or rtree index, but neither of them work > for unique-ness. > > I saw in another posting that it may be possible to raise this limit to 8k or > so, but I don't want to do this because 1) it requires a recompile of > postgres (and rollout to dev, stage, prod machines), and 2) a key could > theoretically be longer than 8k anyway. > > I can guarantee unique-ness by removing the index and doing a select before > the insert. If there is a matching row, then I am trying to insert a dup. > bail. > > My concern is that doing this without an index will be monumentally slow for > any large-ish number of keys. > > Any bright ideas? All suggestions appreciated. > > /andre > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org > ----------------------------------------------------------------------------- david@backpack.com BackPack Software, Inc. www.backpack.com +1 651.645.7550 voice "Life is an Adventure. +1 651.645.9798 fax Don't forget your BackPack!" -----------------------------------------------------------------------------