| From: | Emre Hasegeli <hasegeli(at)aresbt(dot)com> |
|---|---|
| To: | Salim SAKAL <salim(dot)sakal(at)gmail(dot)com> |
| Cc: | Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>, PostgreSQLTürkiyeGenelTartışmaListesi <pgsql-tr-genel(at)postgresql(dot)org> |
| Subject: | PHP PostgreSQL Transaction Kullanımı |
| Date: | 2010-09-06 20:39:53 |
| Message-ID: | AANLkTik5Y28hJtN4d7fm3hfq7+8zaDztsZ7w0g6tjXE+@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-tr-genel |
Aşağıdaki örneğin yararlı olacağını sanıyorum:
> pg_query('BEGIN');
>
> pg_query('INSERT ...');
>
> try
> {
> ...
>
> pg_query('COMMIT');
> }
>
> catch(Exception $exception)
> {
> pg_query('ROLLBACK');
> }
>
Kalıcı bağlantı (*Persistent connection*) kullanıldığında *transaction*'ın
açık kalmasının ciddi sorunlar çıkaracağını da anımsatmak isterim.
---------- Forwarded message ----------
From: Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>
Date: 2010/9/6
Subject: Re: [pgsql-tr-genel] PostgreSQL hakkında yardım lütfen
To: Salim SAKAL <salim(dot)sakal(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
On Mon, 2010-09-06 at 22:35 +0300, Salim SAKAL wrote:
<kesildi>
> örnek: insert query'de bağlantı hatası olursa rollback, sorun yoksa
> commit...
Ben sorunuzu anlamadım: Bir PHP satırında connection kısmı başarısız
olursa tabii ki rollback olacaktır. Bir de özel olarak bir transaction
başlatmadığınızda PostgreSQL o işlemi commit eder (başarılı olursa
yani). İkinci ifadede ayrı bir transaction başlar.
Örnek:
BEGIN;
INSERT...
INSERT...
COMMIT;
ile
INSERT...
INSERT
farklıdır. İlkinde 1 tx, ikincisinde 2 tx vardır. O yüzden bulk insert
işlemlerinde tek tx kullanmak gerekir.
Bilmem yardımcı oldu mu bu yanıt?
> Şahsi kanaatimce açık kaynağın önündeki ciddi engellerden birisi de bu
> konu. MSSQL Server için aramış olsaydım binlerce döküman bulabilirdim.
> Oracle'a rakip PostgreSQL gibi özgür yazılım var ama döküman olmadığı
> için yaygınlaşmıyor.
Ben bu tarzı pek sevmiyorum. Üstteki sorunuzun yanıtı PostgreSQL'in 2500
sayfalık belgesinin içinde var örneğin.
Saygılar,
--
Devrim GÜNDÜZ
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
PostgreSQL RPM Repository: http://yum.pgrpms.org
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Namık Güngör | 2010-10-20 10:18:47 | Acil yardım |
| Previous Message | Erhan Ekici | 2010-09-06 20:21:04 | Re: [pgsql-tr-genel] PostgreSQL hakkında yardım lütfen |