Re: Multiple tables row insertions from single psql input file

From: Rich Shepard <rshepard(at)appl-ecosys(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Multiple tables row insertions from single psql input file
Date: 2024-06-10 20:11:14
Message-ID: aedb755f-90a8-76ef-dcee-a62510c4bcf5@appl-ecosys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 10 Jun 2024, Torsten Förtsch wrote:

> Something along these lines perhaps:
>
> =# create table a( id bigserial primary key, x text );
> CREATE TABLE
> =# create table b( fk bigint references a(id), y text );
> CREATE TABLE
> =# with ins_a as (insert into a (x) values ('a row') returning *)
> insert into b(fk, y) select ins_a.id, 'yy'||i.i from ins_a cross join
> generate_series(1,10) as i(i);
> INSERT 0 10
> =# table a; table b;
> id | x
> ----+-------
> 1 | a row
> (1 row)
>
> Time: 0.215 ms
> fk | y
> ----+------
> 1 | yy1
> 1 | yy2
> 1 | yy3
> 1 | yy4
> 1 | yy5
> 1 | yy6
> 1 | yy7
> 1 | yy8
> 1 | yy9
> 1 | yy10
> (10 rows)

Torsten,

You answered my question. The tables are already created and I'll need to
insert new rows table-by-table as I've done before now.

Thanks,

Rich

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2024-06-10 20:13:43 Re: libpq v17 PQsocketPoll timeout is not granular enough
Previous Message Rich Shepard 2024-06-10 20:06:13 Re: Multiple tables row insertions from single psql input file