postgresql有兩個預設模板template0和template1,建立資料庫預設是以template1作為模板,兩個模板的區別是,如果以template0作為模板,可以自定義編碼,如下:
create database db template template0
問題似乎變得很明朗,想要改變postgresql的表的預設編碼,只要改變template1的編碼即可:
update pg_database set datistemplate=false where datname='template1';
drop database template1;
create database template1 with owner=postgres template=template0 encoding='utf8';
update pg_database set datistemplate=true where datname='template1';
參考:
PostgreSQL 啟動設定
安裝好的 postgresql 設定為自動啟動 進入 postgresql 原始碼解壓出來的目錄,啟動指令碼拷貝到 etc init.d 目錄下,重新命名為 postgresql 8.3.7,cp contrib start scripts linux etc init.d postgresql 8...
postgresql 預設模式順序和改變
postgresql有模式 schema 的概念,其實就是在資料庫中劃分範圍,也就是在不同的模式中,可以有同名的表。可以簡單理解為檔案系統。常用的預設模式是public。show search path 顯示現有的模式搜尋順序,具體的順序,也可以通過set search path to schema...
PostgreSQL 修改預設埠號
之前將postgresql從9.5公升級到了10.3版本,安裝時將埠設定成了5433,預設是5432 後來發現在使用psql來restore db會發生語法錯誤。由於postgresql10.3版本新增了9.5版本沒有的sql語法,導致了這個錯誤,但我明明已經公升級了資料庫,為什麼還會遇到語法錯誤呢...