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
Odpowiedz
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).
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
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
@ love2code: umieść Instrukcja 'set' do' ~/.psqlrc', jak wspomniano w odpowiedzi: –
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
Tak, w auto postgres polecenie auto commit jest domyślnie włączone. możemy to wyłączyć za pomocą '\ set AUTOCOMMIT off' – aaj