On Tue, Jun 19, 2012 at 07:49:20PM +0000, [email protected] wrote:
> The following bug has been logged on the website:
>
> Bug reference: 6699
> Logged by: Joe Van Dyk
> Email address: [email protected]
> PostgreSQL version: 9.1.4
> Operating system: OSX
> Description:
>
> $ pg_restore -O -j 4 ~/tanga.dump -d tanga_dev_full_backup
>
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 417; 1259 66296 VIEW
> site_channels monkey
> pg_restore: [archiver (db)] could not execute query: ERROR: column
> "channels.start_at" must appear in the GROUP BY clause or be used in an
> aggregate function
> LINE 2: SELECT channels.id, channels.start_at, channels.end_at, ...
> ^
> Command was: CREATE VIEW site_channels AS
> SELECT channels.id, channels.start_at, channels.end_at, channels.title,
> channels.descriptio...
>
>
>
> site_channels view definition:
>
> View definition:
> SELECT channels.id, channels.start_at, channels.end_at, channels.title
> FROM channels
> LEFT JOIN channels_products cp ON cp.channel_id = channels.id
> LEFT JOIN buyable_products bp ON bp.id = cp.product_id
> GROUP BY channels.id;
>
> channels.id is a primary key.
Attached is a test case to reproduce the problem, courtesy of the
original reporter.
>
>
> --
> Sent via pgsql-bugs mailing list ([email protected])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
-Ryan
$ cat t.sql
create table foo (id serial primary key, name text);
insert into foo (name) values ('joe');
create view v as (select id, name from foo group by id);
$ createdb test
$ psql -f t.sql test
psql:t.sql:1: NOTICE: CREATE TABLE will create implicit sequence "foo_id_seq"
for serial column "foo.id"
psql:t.sql:1: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"foo_pkey" for table "foo"
CREATE TABLE
INSERT 0 1
CREATE VIEW
$ pg_dump -Fc test > t.dump
$ dropdb test
$ createdb test
$ pg_restore -j4 -d test t.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 163; 1259 3870794 VIEW v joe
pg_restore: [archiver (db)] could not execute query: ERROR: column "foo.name"
must appear in the GROUP BY clause or be used in an aggregate function
LINE 2: SELECT foo.id, foo.name FROM foo GROUP BY foo.id;
^
Command was: CREATE VIEW v AS
SELECT foo.id, foo.name FROM foo GROUP BY foo.id;
pg_restore: [archiver (db)] could not execute query: ERROR: relation
"public.v" does not exist
Command was: ALTER TABLE public.v OWNER TO joe;
WARNING: errors ignored on restore: 2
--
Sent via pgsql-bugs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs