RE: Re: DB porting questions...

From: "Diehl, Jeffrey" <jdiehl(at)sandia(dot)gov>
To: "'Vivek Khera '" <khera(at)kciLink(dot)com>, "'pgsql-sql(at)postgresql(dot)org '" <pgsql-sql(at)postgresql(dot)org>
Subject: RE: Re: DB porting questions...
Date: 2001-04-18 18:28:57
Message-ID: B51F0C636E578A4E832D3958690CD73E0130BEB6@es04snlnt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Well, I'm glad that my efforts to climb the learning curve are helping
others... <grin>

I'm not aware of any scripts which will implement sets in psql. But, the
underlying implementation of a set is quite simple and could be done in a
pl/sql function or application code.

Conceptually, you assign numeric values to that attributes in the set:
red=1, white=2, blue=4, plaid=8, etc. Then you add the values of the
attributes which are in the set.

Var = red + white = 1 + 2 = 3

Write a function which tests if a given attribute is in the set...

If you need more, lemme know, I'll try to help.

BTW, I have a psql database which gets more than 5 Million inserts a day.
Is there anyone with a larger database? Is there any interest in comments
on running such a large database. No, I can't tell you what it does in much
detail.

Take care,
Mike Diehl.

-----Original Message-----
From: Vivek Khera
To: pgsql-sql(at)postgresql(dot)org
Sent: 4/17/2001 9:45 AM
Subject: [SQL] Re: DB porting questions...

>>>>> "JD" == Jeffrey Diehl <jdiehl(at)sandia(dot)gov> writes:

JD> I'm in the final stages of migrating from mysql to postgres and have
a few
JD> more questions...

I'm just starting, but I've got two questions. I've found some
scripts out there that claim to do the conversion of the SQL create
commands, but none does the right thing it seems.

I've now found out how to handle the timestamp for insert times and
how to do auto-increment fields.

My unsderstanding of MySQL's enum type is to use something like this
in postgres:

owner_status varchar(9) check
(owner_status in ('pending','active','suspended'))
NOT NULL default 'pending',

But how does one handle the "set" dataype? The archive for the
mailing lists is not helping me find out how to deal with that.

Basically, I have a field with a bunch of flags defining the
attributes of a user, and storing that in a bit-field makes sense.
Currently in MySQL I have this:

owner_features set('premium','haveccinfo') default NULL,

for example. Some other fiels may have about 20 such values, and
MySQL lets me keep these in 3 bytes as a bit-field behind the scenes.

From what I see, my choice in Postgres is to store this as a
comma-separated string and let my application work as before.

Does anyone have a script that actually handles properly doing auto
increments with the SERIAL type, and does the set/enum conversions?

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera(at)kciLink(dot)com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2001-04-18 18:33:14 Re: Subqueries in select clause
Previous Message Mathijs Brands 2001-04-18 18:28:14 Re: persistent connections, AOLserver (Was: [SQL] maybe Offtopic : PostgreSQL & PHP ?)