Làm cách nào để đặt và nhận các biến cơ sở dữ liệu tùy chỉnh?


9

Sử dụng PGAdmin IIITôi có thể nhấp chuột phải vào cơ sở dữ liệu, điều hướng đến Variablestab và đặt thuộc tính tên-giá trị biến trên cơ sở dữ liệu. Có cách nào để tùy chỉnh những thứ này? Tôi đã thấy một application_namebiến, nhưng tôi muốn có một application_versionbiến.

Câu trả lời:


8

Bạn phải thêm biến vào cuối postgresql.conflike của bạn

#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

custom_variable_classes = 'general'     # list of custom variable class names

general.application_version = 'v1.0'

Khi được khởi động lại, bạn có thể thêm general.application_versionthủ công trong PGAdmin (nó sẽ không hiển thị trong trình đơn thả xuống - ít nhất là không phải cho tôi). Mặt khác, bạn có thể sử dụng nó giống như bất kỳ biến PostgreSQL nào khác.

Cập nhật cho phiên bản 9.2 trở lên

Từ PostgreQuery 9.2 trở đi, chúng ta không phải thiết lập custom_variable_classesnữa. Người ta có thể đặt bất kỳ biến nào họ muốn - giới hạn duy nhất dường như là nó vẫn phải có hai phần:

SET something TO 'bla';
ERROR:  unrecognized configuration parameter "something"

SET thing.something TO 'bla';
SET

Tôi đoán điều này là để tránh va chạm với các tham số dựng sẵn.


Hừm. Không có cách nào để làm điều đó từ một truy vấn SQL trong cơ sở dữ liệu?
Jeremy Holovacs

Trước tiên bạn phải xác định các biến trong postgresql.conf. AFAIK điều này yêu cầu khởi động lại PostgreSQL, vì vậy bạn không thể làm điều đó từ SQL.
dezso

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.