Re: bug on ALTER TABLE - Mailing list pgsql-general

From Joey K.
Subject Re: bug on ALTER TABLE
Date
Msg-id 467669b30805141734w7af41e07y8c014653409ff5ff@mail.gmail.com
Whole thread Raw
In response to bug on ALTER TABLE  (Martin Marques <martin@marquesminen.com.ar>)
List pgsql-general


On Wed, May 14, 2008 at 4:35 PM, Martin Marques <martin@marquesminen.com.ar> wrote:
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.


pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: psql \pset pager
Next
From: "Dann Corbit"
Date:
Subject: Re: bug on ALTER TABLE