2010-10-01 51 views
3

我支持一些傳統的PostgreSQL 8.3/4數據庫,並將它們遷移到一些較新的Windows Server 2008硬件上。如何在安裝PostgreSQL 9.0後更改NAMEDATALEN配置?

我被告知NAMEDATALEN的身材需要高於默認值。

據我所知,NAMEDATALEN配置不存在於配置文件中,而是需要在編譯應用程序時設置。

已經在新盒子上安裝了PostgreSQL 9.0,我想知道是否可以在事後改變這個配置?

回答

4

無法更改此選項 - 它需要在源文件src/include/pg_config_manual.h中更改。然後需要重新編譯Postgres,使用initdb初始化數據目錄並恢復數據。然後,每個安全性和bug修復次要版本都必須進行修補並重新編譯。這是一件壞事。

這對於修補應用程序源以使用較短的表/功能/ etc名稱更爲容易和明智。 insanely_stupid_and_totally_impractical_table_or_function_name0

可能你的模式實際上並不需要更長的名字,而這個要求只是你的客戶端應用程序已久的版本中的一個工件。選中此項 - 嘗試將架構和函數導入到新數據庫。

而這個問題可能應該遷移到serverfault.com

+0

然而,它不足以支持從哪個選擇。謝謝雖然.. :) – baash05 2014-07-17 06:41:31

+0

@ baash05我不知道你在說什麼。 – Tometzky 2014-07-17 11:05:27

+0

對列名來說確實夠用了,但是一些ORM通過「AS」生成了一個巨大的「別名」。而我只是面對這樣的問題。 – 2015-10-20 16:05:29

相關問題