内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

包含postgresql詳解的詞條

有沒有人懂debian5下,jdbc和PostgreSQL的設(shè)置啊……

連接不上數(shù)據(jù)庫(kù)的原因,無(wú)非是psql的安裝和設(shè)置出現(xiàn)問(wèn)題。

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)于洪,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

查找相關(guān)答案的時(shí)候要注意,debian和ubuntu下面的安裝和設(shè)置幾乎是一樣的。

請(qǐng)參考下面兩個(gè)材料:

1、ubuntu下的Postgresql安裝設(shè)置。

2、詳解Ubuntu下搭建JSP平臺(tái)過(guò)程,雖然這個(gè)文章是mysql,做為數(shù)據(jù)庫(kù)的設(shè)置,還是大同小異的。

如何快速掌握 Navicat for PostgreSQL表索引

數(shù)據(jù)。下面Navicat官網(wǎng)將詳解Navicat for PostgreSQL表索引。

方法/步驟

在 Navicat for PostgreSQL“索引”選項(xiàng)卡,只需點(diǎn)擊索引欄位即可編輯。使用索引工具欄,便可以創(chuàng)建新的、編輯或刪除選定的索引欄位。

● 添加索引:添加一個(gè)索引到表。

● 刪除索引:刪除已選擇的索引。

2

名編輯框:設(shè)置索引名。沒有模式名可以包含在這里,索引總是創(chuàng)建與它的上級(jí)表相同的模式。要在索引包含欄位,只需簡(jiǎn)單地雙擊欄位或點(diǎn)擊“欄位”按鈕就能在打開的編輯器中編輯。注意:一些欄位類型不容許由多個(gè)欄位索引。

索引方法:下拉列表定義表索引的類型。

3

唯一鍵:使得索引獨(dú)一無(wú)二,當(dāng)創(chuàng)建索引以及每次添加數(shù)據(jù)時(shí),系統(tǒng)檢查表中的重復(fù)值(如果數(shù)據(jù)已經(jīng)存在)。

簇:CLUSTER 指示 PostgreSQL 簇,指定表名和索引名,索引必須已經(jīng)被定義到表名。當(dāng)一個(gè)表被簇,PostgreSQL 記得它被簇到哪個(gè)索引。 CLUSTER 形式表名重新簇表在它之前簇的相同索引。

表空間:創(chuàng)建索引的表空間。

4

限制:如果想創(chuàng)建部分索引,在編輯框輸入限制條件。部分索引是一個(gè)索引包含項(xiàng)目給一個(gè)表的一部分,通常一部分在索引方面較表其余部分更為有用。

注釋:定義索引的注釋。

欄位編輯器:從名列表選擇欄位,也可以使用箭頭按鈕來(lái)改變索引欄位的順序。

5

排序規(guī)則:選擇索引的排序規(guī)則。支持 PostgreSQL 9.1 或以上版本。

排序順序:指定排序順序:ASC 或 DESC。

Nulls 排序:指定 nulls 排序在 non-nulls 前(NULLS FIRST)或后(NULLS LAST)

Postgres-存儲(chǔ)過(guò)程 return 詳解

如果返回一個(gè) 數(shù)字或者字符 比較簡(jiǎn)單,那么多行多列怎么辦呢,分為以下幾種情況【東西很多,這里只做簡(jiǎn)單列舉】

返回多行單列

又分為幾種方式

1. return next,用在 for 循環(huán)中

CREATEORREPLACEFUNCTIONfuncname ( in_idinteger)RETURNSSETOFvarcharas $$DECLARE? ? v_name varchar;BEGINforv_namein( (selectnamefromtest_result1whereid=in_id)union(selectnamefromtest_result2whereid= in_id) ) loop

RETURNNEXT v_name;

end loop;

return;END;

$$

LANGUAGE PLPGSQL;

注意

1. 循環(huán)外還有個(gè) return

2. 需要實(shí)現(xiàn)聲明 v_name

2. return query,無(wú)需 for 循環(huán)

CREATEORREPLACEFUNCTIONfuncname ( in_idinteger)RETURNSSETOFvarcharas $$DECLARE? ? v_rec RECORD;BEGINreturnquery? ( (selectnamefromtest_result1whereid=in_id)union(selectnamefromtest_result2whereid= in_id) );

return;END;$$LANGUAGE PLPGSQL;

注意:如果 返回類型為 setof,最好用如下方法

RETURNQUERYEXECUTESQL

不要這么用

executesqlinto? out;returnout;

返回多行多列

也有多種方式

1. 使用 return next 和? setof record ,需要 for 循環(huán)

CREATEORREPLACEFUNCTIONfuncname ( in_idinteger)RETURNSSETOF RECORDas $$DECLARE? ? v_rec RECORD; BEGINforv_recin( (selectid , namefromtest_result1whereid=in_id)union(selectid , namefromtest_result2whereid= in_id) )loop

RETURNNEXT v_rec;

end loop;

return;END;

$$

LANGUAGE PLPGSQL;

注意

1. 讀取表的整行數(shù)據(jù)時(shí)才能用 record

2. 如果讀取的數(shù)據(jù)不是整行,需要自定義 復(fù)合數(shù)據(jù)類型,否則會(huì)報(bào)如下錯(cuò)誤

ERROR:? acolumndefinition listisrequiredforfunctions returning "record"

定義復(fù)合類型 ,示例如下

createtype myout2as (

road_num int,

freq bigint);createorreplacefunctiontest(cartext, time1text, time2text)returnssetof myout2as $$declare

array1 text[];

array2 text[];

len1 integer;

len2 integer;

x integer;

y integer;

road_str text;

car_str text;

sql text;

i myout2;

begin-- vin 號(hào)拼接selectregexp_split_to_array(car,',')into array2;

selectarray_length(array2,1)into len2;

car_str :='';

y :=1;

whiley= len2 loop

car_str :=car_str||quote_literal(array2[y])||',';

y :=y+1;

end loop;

-- sql 拼接sql :='select road_number, sum(frequency) from heat_map where date_key = '''|| time1

||'-01'' and date_key ='''|| time2

||'-20'' and vin in ('||rtrim(car_str,',')

||')group by road_number;';

--execute sql into out;foriinexecute sql loop

returnnext i;

end loop;

return;end$$ language plpgsql;

在執(zhí)行時(shí)可能會(huì)報(bào)如下錯(cuò)誤

ERROR:set-valuedfunctioncalledincontext that cannot accept aset

解決方法

select funcname(arg);--改為select*fromfuncname(arg);

2.? return query,無(wú)需 for 循環(huán)

CREATEORREPLACEFUNCTIONfuncname ( in_idinteger)RETURNSSETOF RECORDas $$DECLARE? ? v_rec RECORD;BEGINreturnquery? ( (selectid , namefromtest_result1whereid=in_id)union(selectid , namefromtest_result2whereid= in_id) );

return;END;

$$

LANGUAGE PLPGSQL;

3. 使用 out 輸出參數(shù)

CREATEORREPLACEFUNCTIONfuncname ( in_idinteger,out o_idinteger,out o_namevarchar)

RETURNSSETOF RECORDas $$DECLARE? ? v_rec RECORD;BEGINforv_recin( (selectid , namefromtest_result1whereid=in_id)union(selectid , namefromtest_result2whereid= in_id) )loop

o_id? := v_rec.id;

o_name := v_rec.name;

RETURNNEXT ;

end loop;

return;END;

$$

LANGUAGE PLPGSQL;

總結(jié) - return next return query?

我們可以看到上面無(wú)論是單列多行還是多列多行,都用到了 return next 和 return query 方法

在 plpgsql 中,如果存儲(chǔ)過(guò)程返回 setof sometype,則返回值必須在 return next 或者 return query 中聲明,然后有一個(gè)不帶參數(shù)的 retrun 命令,告訴函數(shù)執(zhí)行完畢;【setof 就意味著 多行】

用法如下

RETURNNEXT expression;RETURN QUERY query;RETURNQUERYEXECUTEcommand-string[ USING expression [, ... ]];

return next 可以用于標(biāo)量和復(fù)合類型數(shù)據(jù);

return query 命令將查詢到的一條結(jié)果追加到函數(shù)的結(jié)果集中;

二者在單一集合返回函數(shù)中自由混合,在這種情況下,結(jié)果將被級(jí)聯(lián)。【有待研究】

return query execute 是 return query 的變形,它指定 sql 將被動(dòng)態(tài)執(zhí)行;

returnqueryselectroad_number,sum(frequency)fromheat_mapgroupbyroad_number;--這樣可以sql :='select road_number, sum(frequency) from heat_map group by road_number';returnquery sql;--這樣不行

參考資料:

自定義類型并返回?cái)?shù)組

return next return query

function返回多列多行

返回結(jié)果集多列和單列的例子??

PostgreSQL存儲(chǔ)過(guò)程(1)-基于SQL的存儲(chǔ)過(guò)程

動(dòng)態(tài)SQL

postgresql, pgadmin error RETURN cannot have a parameter in function returning set

存儲(chǔ)過(guò)程輸出參數(shù)

PostgreSQL存儲(chǔ)過(guò)程(3)-流程控制語(yǔ)句

CentOS 7 安裝&配置PostgreSQL 12(附圖片詳解)

啟動(dòng)pg服務(wù)

設(shè)置pg服務(wù)為開機(jī)啟動(dòng)

-bash: netstat: 未找到命令

再次執(zhí)行

使用navicat連接是無(wú)法連接的。

【遇到的問(wèn)題】若沒有可以跳過(guò)

【解決辦法】

修改/usr/bin/firewall-cmd 下文件在首行 python改為python2(因?yàn)橹鞍惭b過(guò)python3環(huán)境)

listen_addresses='*'

或者加 ip網(wǎng)段

配置完成后即可使用客戶端進(jìn)行連接

大功告成~~

————————————————

參考 鏈接:

文章題目:包含postgresql詳解的詞條
URL分享:http://m.rwnh.cn/article36/dsdhepg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站全網(wǎng)營(yíng)銷推廣、網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄關(guān)鍵詞優(yōu)化、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
临桂县| 平遥县| 中山市| 游戏| 五常市| 牙克石市| 博乐市| 赣榆县| 嘉义县| 定远县| 高台县| 兴国县| 上高县| 沅江市| 永清县| 天峨县| 江川县| 盐亭县| 武鸣县| 太仓市| 涿鹿县| 郁南县| 长岭县| 收藏| 周口市| 普陀区| 邵武市| 乐陵市| 明星| 泸定县| 稻城县| 河西区| 万安县| 尉犁县| 屏山县| 巴彦县| 澜沧| 内江市| 上饶县| 大港区| 灌云县|