Re: COPY ile doldurulmu

From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Ali Dereli <derelinux(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: COPY ile doldurulmu
Date: 2006-03-10 21:53:28
Message-ID: 20060310215328.GB184@alamut
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

On Mar 10 11:35, Ali Dereli wrote:
> Herkes ceşitli çözüm yolları sundu ama postgreSQL'inde çözüm sunması
> gerekirdi.
> COPY komutu calıstıktan sonra ilgili tablodaki ilk serial sutundaki en
> yüksek degeri sequence olarak atamak cokta zor olmazmıs gibi geliyor.

Bana daha çok siz pg_dump'ı doğru kullanmadınız gibi geliyor. Şöyle ki:

test=# \d seq
Table "public.seq"
Column | Type | Modifiers
--------+---------+-------------------------------------------------
s | integer | not null default nextval('seq_s_seq'::regclass)
u | integer |
v | integer |

test=# SELECT s, u, v FROM seq;
s | u | v
----+----+----
1 | 1 | 2
2 | 3 | 4
...
(12 rows)

$ pg_dump --table seq test
...
CREATE TABLE seq (
s serial NOT NULL,
u integer,
v integer
);
...
SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('seq', 's'), 12, true);
...
COPY seq (s, u, v) FROM stdin;
1 1 2
2 3 4
...

Görüldüğü gibi pg_dump ile işler kolaylıkla halloluyor. Amcamlar benim
size önerdiğim setval() fonksiyonunu ise yukarıdaki gibi paşa paşa
kullanıyorlar.

İyi çalışmalar.

In response to

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Mehmet Uysal 2006-03-11 15:13:45 remote access
Previous Message Volkan YAZICI 2006-03-10 20:27:08 Re: COPY ile doldurulmu