Bagaimana cara mengatur dan mendapatkan variabel basis data khusus?


9

Menggunakan PGAdmin IIIsaya dapat mengklik kanan pada database, menavigasi ke Variablestab, dan meletakkan properti variabel-nilai pada database itu sendiri. Apakah ada cara untuk menyesuaikan ini? Saya melihat sebuah application_namevariabel, tetapi saya ingin memiliki application_versionvariabel.

Jawaban:


8

Anda harus menambahkan variabel ke akhir postgresql.confsuka Anda

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

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

general.application_version = 'v1.0'

Ketika dimulai ulang, Anda dapat menambahkan general.application_versionsecara manual di PgAdmin (itu tidak akan muncul di drop-down - setidaknya bukan untuk saya). Jika tidak, Anda dapat menggunakannya sama seperti variabel PostgreSQL lainnya.

Pembaruan untuk versi 9.2 dan yang lebih baru

Dari PostgreSQL 9.2 dan seterusnya, kita tidak perlu mengatur custom_variable_classeslagi. Satu dapat mengatur variabel apa pun yang mereka inginkan - satu-satunya batasan tampaknya masih harus memiliki dua bagian:

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

SET thing.something TO 'bla';
SET

Saya kira ini adalah untuk menghindari tabrakan dengan parameter bawaan.


Hmmm. Tidak ada cara untuk melakukan itu dari permintaan SQL di database?
Jeremy Holovacs

Anda harus terlebih dahulu mendefinisikan variabel di postgresql.conf. AFAIK ini membutuhkan restart PostgreSQL, jadi Anda tidak bisa melakukannya dari SQL.
dezso

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.