Greg Brzezinski <gregb@amg.gda.pl> writes:
> create table test (id int, user_name char(30));
> insert into test values (1, 'John');
> insert into test values (2, 'George');
> create view v_test as select * from test where user_name = 'John';
> select count(*) from v_test;
>  count
> -------
>      2
> (1 row)      Why?...Should returns 1
Yup, it should, and 1 is indeed what I get.  How old a version of
Postgres are you using?  I think there used to be bugs like this
a few versions back...
            regards, tom lane