postgres8.3以後,字段資料之間的預設轉換取消了。如果需要進行資料變換的話,在postgres資料庫中,我們可以用"::"來進行字段資料的型別轉換。實際上"::"是呼叫cast函式的。究竟哪些字段之間可以進行資料轉換呢?
這個問題只要研究一下cast函式就能夠得到答案。cast函式的資訊在系統pg_cast表裡面管理。
通過查詢我們可以得到現階段可以轉換的型別對照表如下:
源型別 轉換目標型別
int8
int2
int8
int4
int8
float4
int8
float8
int8
numeric
int2
int8
int2
int4
int2
float4
int2
float8
int2
numeric
int4
int8
int4
int2
int4
float4
int4
float8
int4
numeric
float4
int8
float4
int2
float4
int4
float4
float8
float4
numeric
float8
int8
float8
int2
float8
int4
float8
float4
float8
numeric
numeric
int8
numeric
int2
numeric
int4
numeric
float4
numeric
float8
int4
bool
bool
int4
int8
oidint2
oidoid
int8
int8
regproc
int2
regproc
regproc
int8
int8
regprocedure
int2
regprocedure
regprocedure
int8
int8
regoper
int2
regoper
regoper
int8
int8
regoperator
int2
regoperator
regoperator
int8
int8
regclass
int2
regclass
regclass
int8
int8
regtype
int2
regtype
regtype
int8
int8
regconfig
int2
regconfig
regconfig
int8
int8
regdictionary
int2
regdictionary
regdictionary
int8
text
regclass
varchar
regclass
bpchar
text
bpchar
varchar
char
text
char
bpchar
char
varchar
name
text
name
bpchar
name
varchar
text
char
bpchar
char
varchar
char
text
name
bpchar
name
varchar
name
char
int4
int4
char
abstime
date
abstime
time
abstime
timestamp
abstime
timestamptz
reltime
interval
date
timestamp
date
timestamptz
time
interval
time
timetz
timestamp
abstime
timestamp
date
timestamp
time
timestamp
timestamptz
timestamptz
abstime
timestamptz
date
timestamptz
time
timestamptz
timestamp
timestamptz
timetz
interval
reltime
interval
time
timetz
time
lseg
point
path
point
path
polygon
boxpoint
boxlseg
boxpolygon
boxcircle
polygon
point
polygon
path
polygon
boxpolygon
circle
circle
point
circle
boxcircle
polygon
inet
cidr
int8
bitint4
bitbit
int8
bitint4
cidr
text
inet
text
bool
text
text
xmlcidr
varchar
inet
varchar
bool
varchar
varchar
xmlcidr
bpchar
inet
bpchar
bool
bpchar
bpchar
xmlbpchar
bpchar
varchar
varchar
time
time
timestamp
timestamp
timestamptz
timestamptz
interval
interval
timetz
timetz
bitbit
varbit
varbit
numeric
numeric
postgres資料庫中的資料轉換
postgres8.3以後,字段資料之間的預設轉換取消了。如果需要進行資料變換的話,在postgres資料庫中,我們可以用 來進行字段資料的型別轉換。實際上 是呼叫cast函式的。究竟哪些字段之間可以進行資料轉換呢?這個問題只要研究一下cast函式就能夠得到答案。cast函式的資訊在系統pg cas...
postgres模板資料庫
create database 實際上是通過拷貝乙個現有的資料庫進行工作的。預設時,它拷貝名為 template1 的標準系統資料庫。所以該資料庫是建立新資料庫的 模板 如果你給 template1 增加物件,這些物件將被拷貝到隨後建立的使用者資料庫中。這樣的行為允許節點對資料庫中的標準套件進行修改...
Postgres中更好的資料庫遷移
譯者注 在postgres中進行資料庫遷移時會遇到哪些問題?如何解決它們?請見下文。有兩種操作發生的很頻繁,每種操作都有一些簡單的方法可以減少停機時間。讓我們看看每乙個操作,它們是如何工作的,以及如何以更安全的方式來處理它們。在postgres中新增乙個新列實際上代價是很低的。當你這樣做的時候,它會...