I'm writing this as a convert from MS-Access to PostgreSQL so whatever
happens things are getting better :-)

When using M$ Access I took for granted that any time I altered my database,
I would be able to go back later and revert or alter that table, query,
constraint etc so that nothing was set in stone!

For Example:
If I set a field to varchar(20) and then found out it needed to be larger I
could go back and easily change that to varchar(30) but this, if you read
the documentation is almost impossible, in PostgreSQL as there is no 'Alter
table <tablename> alter column .. ' command for attribute sizes BTW (I have
just found out that this is possible by changing atttypmod in pg_attribute
:-) Is this safe?).

Also Foreign keys cannot be deleted easily, Not Null Constraints (or is that
constraints in general) cannot be changed, columns cannot be dropped etc.

I know there are ways round these problems: If you go into pg_attribute you
can change attnotnull to add or remove Not Null constraints and if all else
fails you can drop and recreate the table.  This then opens another can of
worms when it comes to rules and triggers.  You recreate the table as it
says in the docs, but what it does not say is none of your triggers or rules
(or views I suppose) will work anymore.  They need to be recreated because
they refer to the OID of the table instead of the table name.

I'm sure there are other examples of this mindset which makes me frustrated
at PostgreSQL, and I also know that Postgres is a much more capable database
than Access will ever be e.g. transactions, MVCC, triggers, rules, views,
loads of other things, so I am changing the way I work so that I can get the
best out of Postgres.  I was just trying to point out that to make Postgres
easier for the simpletons on this planet i.e. myself, could you make it one
of your priorities to work on some of these probs.

Hopefully for 7.2 - 7.3

Anyway

Thanks for all the work so far.

Ben





More features for the common man!


I'm writing this as a convert from MS-Access to PostgreSQL so whatever happens things are getting better :-)

When using M$ Access I took for granted that any time I altered my database, I would be able to go back later and revert or alter that table, query, constraint etc so that nothing was set in stone!
For Example:
If I set a field to varchar(20) and then found out it needed to be larger I could go back and easily change that to varchar(30) but this, if you read the documentation is almost impossible, in PostgreSQL as there is no 'Alter table <tablename> alter column .. ' command for attribute sizes BTW (I have just found out that this is possible by changing atttypmod in pg_attribute :-) Is this safe?).
Also Foreign keys cannot be deleted easily, Not Null Constraints (or is that constraints in general) cannot be changed, columns cannot be dropped etc.
I know there are ways round these problems: If you go into pg_attribute you can change attnotnull to add or remove Not Null constraints and if all else fails you can drop and recreate the table.  This then opens another can of worms when it comes to rules and triggers.  You recreate the table as it says in the docs, but what it does not say is none of your triggers or rules (or views I suppose) will work anymore.  They need to be recreated because they refer to the OID of the table instead of the table name.
I'm sure there are other examples of this mindset which makes me frustrated at PostgreSQL, and I also know that Postgres is a much more capable database than Access will ever be e.g. transactions, MVCC, triggers, rules, views, loads of other things, so I am changing the way I work so that I can get the best out of Postgres.  I was just trying to point out that to make Postgres easier for the simpletons on this planet i.e. myself, could you make it one of your priorities to work on some of these probs.
Hopefully for 7.2 - 7.3

Anyway

Thanks for all the work so far.

Ben
Thu, 1 Feb 2001 19:11:33 -0000 
"Trewern, Ben" <Ben.Trewern@mowlem.com>
More features for the common man!