2016-12-23 12 views
6

Używam PostgreSQL 9.5. Jak mogę sprawdzić, czy automatyczne zatwierdzanie jest włączone lub wyłączone? Próbowałem SHOW AUTOCOMMIT gdzie dostałem ERROR: unrecognized configuration parameter "autocommit" następnie zrobiłem \set autocommit off, a następnie SHOW AUTOCOMMIT daje puste wyjście. Jak rozpoznać, czy autouzupełnianie jest włączone czy wyłączone? Czy mogę go wyłączyć podczas/po utworzeniu bazy danych w moim pliku sql?Jak sprawdzić, czy autocommit jest włączony czy nie, postgres 'psql

+1

Dobre pytanie. Autocommit wydaje się być zawsze WŁĄCZONY i otrzymałem te same wiadomości, gdy próbowałem zobaczyć ustawienie. PG 9.4 wyświetlał co najmniej tekst, którego autocommit nie może być ustawiony na OFF. Ale 9,5 i 9,6 daje ten błąd, chociaż dokumentacja wciąż zawiera komendy automatycznego ustawiania i pokazywania autocommit. – JosMac

+1

Tak, w auto postgres polecenie auto commit jest domyślnie włączone. możemy to wyłączyć za pomocą '\ set AUTOCOMMIT off' – aaj

Odpowiedz

9

Według this Dustin Marx artykułu, można użyć:

\echo :AUTOCOMMIT 

Jeśli jest to pożądane, aby "zawsze" nie AUTOCOMMIT wyłączone, \ ustawić AUTOCOMMIT off meta-polecenia można dodać do własnej lokalnej ~/.psqlrc plik. Aby uzyskać jeszcze bardziej globalne ustawienie, to meta-polecenie może zostać umieszczone w pliku apsqlrc w katalogu konfiguracji systemu bazy danych (który może być zlokalizowany przy użyciu polecenia poziomu systemu operacyjnego PostgreSQL pg_config --sysconfdir).

+0

Dzięki. jakie jest najlepsze miejsce, aby trwale go ustawić? W mojej aplikacji mam plik sql, w którym tworzę bazę danych. Czy powinienem to ustawić? – aaj

+0

Mam 'Musisz zainstalować postgresql-server-dev-XY do budowania rozszerzenia po stronie serwera lub libpq-dev do budowania aplikacji klienckiej." Kiedy zrobiłem 'pg_config --sysconfdir' – aaj

+0

@ love2code: umieść Instrukcja 'set' do' ~/.psqlrc', jak wspomniano w odpowiedzi: –

Powiązane problemy