2015-11-30 31 views

Odpowiedz

10

Nie masz trzeba zmienić profil połączenia, można zmienić właściwość AUTOCOMMIT wewnątrz skryptu SQL "on-the-fly" z set autocommit

set autocommmit on; 
vacuum; 
set autocommmit off; 

Można również przełączyć aktualny stan AUTOCOMMIT poprzez menu "SQL -> Autocommit"

+0

Mam to, dziękuję bardzo^_^ –

+1

Witam, otrzymałem komunikat o błędzie po uruchomieniu tych 3 poleceń sql w SQLWorkBenchJ: BŁĄD: błąd składniowy w lub w pobliżu "on" Pozycja: 17 –

+0

@TingJia: działa dla mnie . Być może używasz starej wersji SQL Workbench. –

3

Dla mnie to zadziałało.

END TRANSACTION; 
VACCUM <TABLENAME>; 
+1

Również pracował dla mnie, dziękuję bardzo. –

1

włączeniem trybu automatycznego i wyłączanie wydaje się hacky rozwiązanie szczególnie jeśli masz długi skrypt przerywane z zatwierdzeń i odkurzacze (czyli wiele bardzo dużych tabel Temp). Zamiast tego spróbuj (w jednym wierszu). Wiele osób zgłasza, że ​​redshift nie podoba się składni. Zamiast

COMMIT;VACUUM;COMMIT; 

Problemem jest to, że próżnia nie tylko chce być pierwsza komenda w bloku transakcji, chce blok należy wyraźnie popełnione po.