2016-12-23 17 views
6

Tôi đang sử dụng postgres 9.5. Làm thế nào tôi có thể kiểm tra xem tự động bật hay tắt? Tôi đã thử SHOW AUTOCOMMIT nơi tôi nhận được ERROR: unrecognized configuration parameter "autocommit" sau đó tôi đã thực hiện một \set autocommit off và sau đó SHOW AUTOCOMMIT cho tôi kết quả đầu ra trống. Làm cách nào để xác định xem có bật hoặc tắt tự động không? Ngoài ra tôi có thể đặt nó tắt trong khi/sau khi cơ sở dữ liệu được tạo trong tệp sql của tôi không?Cách kiểm tra xem có tự động bật hay không postgres 'psql

+1

Câu hỏi hay. Autocommit dường như luôn luôn ON và tôi cũng nhận được các thông báo tương tự khi tôi cố gắng xem cài đặt. PG 9.4 ít nhất là hiển thị văn bản mà tự động không thể đặt thành TẮT. Nhưng 9.5 và 9.6 cho lỗi này mặc dù tài liệu vẫn chứa tập hợp và hiển thị các lệnh tự động. – JosMac

+1

vâng trong cam kết tự động postgres được bật theo mặc định. chúng ta có thể tắt nó bằng cách sử dụng '\ set AUTOCOMMIT off' – aaj

Trả lời

9

Theo this bài viết Dustin Marx, bạn có thể sử dụng:

\echo :AUTOCOMMIT 

Nếu nó mong muốn để "luôn luôn" đã Autocommit tàn tật, các \ thiết Autocommit tắt meta-lệnh có thể được thêm vào của một người địa phương ~/.psqlrc tệp. Để có một cài đặt toàn cục hơn, lệnh meta này có thể được đặt trong tệp apsqlrc trong thư mục cấu hình hệ thống của cơ sở dữ liệu (có thể đặt bằng lệnh cấp hệ điều hành PostgreSQL pg_config --sysconfdir).

+0

Cảm ơn. nơi tốt nhất để đặt nó vĩnh viễn là gì? Trong ứng dụng của tôi, tôi có một tệp sql nơi tôi tạo cơ sở dữ liệu. Tôi có nên đặt nó ở đó không? – aaj

+0

Tôi nhận được 'Bạn cần phải cài đặt postgresql-server-dev-XY để xây dựng một phần mở rộng phía máy chủ hoặc libpq-dev để xây dựng một ứng dụng phía máy khách.' khi tôi đã' pg_config --sysconfdir' – aaj

+0

@ love2code: đặt Câu lệnh 'set' vào' ~/.psqlrc' như được đề cập trong câu trả lời –

Các vấn đề liên quan