bug on ALTER TABLE

From: Martin Marques <martin(at)marquesminen(dot)com(dot)ar>
To: pgsql-general(at)postgresql(dot)org
Subject: bug on ALTER TABLE
Date: 2008-05-14 23:35:14
Message-ID: 482B7732.1060705@marquesminen.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Please, can someone explain how is it posible for ALTER TABLE to add a
primary key column to a table without some intruction that would make it
a real PK (NOT NULL and UNIQUE).

prueba=> CREATE TABLE nopk (
prueba(> textito varchar
prueba(> );
CREATE TABLE
prueba=> INSERT INTO nopk VALUES ('algo de texto');
INSERT 0 1
prueba=> INSERT INTO nopk VALUES ('otro texto');
INSERT 0 1
prueba=> ALTER TABLE nopk ADD COLUMN id INT PRIMARY KEY;
NOTICE: ALTER TABLE / ADD PRIMARY KEY creará el índice implícito
«nopk_pkey» para la tabla «nopk»
ALTER TABLE
prueba=> \d nopk
Tabla «martin.nopk»
Columna | Tipo | Modificadores
---------+-------------------+---------------
textito | character varying |
id | integer | not null
Índices:
«nopk_pkey» PRIMARY KEY, btree (id)

prueba=> SELECT * FROM nopk WHERE id IS NULL;
textito | id
---------------+----
algo de texto |
otro texto |
(2 filas)

So id is a pk with NULL values, which isn't right.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message D. Dante Lorenso 2008-05-15 00:11:27 convert very large unsigned numbers to base62?
Previous Message Greg Smith 2008-05-14 23:18:58 Re: DB page cache/query performance