모든 함수#

이 페이지는 이 레퍼런스에 문서화된 모든 함수, 모두 126개 항목을 알파벳순 표 하나에 나열합니다. 어느 범주에 속하는지 몰라도 이름으로 함수를 찾을 수 있습니다. Function 열은 고려할 점과 실제 예제가 실린 온전한 항목으로 이어집니다. Signature 열은 카탈로그가 담고 있는 모든 오버로드를 보여 줍니다.

이름이 같은 항목이 둘 있다면, 그것은 OID도 뜻도 다른 두 개의 함수입니다. 문자열에 대한 length는 경로에 대한 length가 아니며, 시그니처 열이 그 둘을 구별해 줍니다.

함수

시그니처

설명

도입 시점

abs

abs ( x jsonb ) -> jsonb
abs ( x numeric ) -> numeric

숫자의 절댓값을 반환합니다.

2.17 이전부터

acos

acos ( x jsonb ) -> jsonb
acos ( x double precision ) -> double precision

x의 아크코사인을 라디안으로 반환합니다. x는 −1과 1 사이여야 합니다.

2.17 이전부터

ag_get_graphconstraintdef

ag_get_graphconstraintdef ( constraint oid ) -> text

OID를 주면 그래프 제약에 대한 CREATE CONSTRAINT 명령을 재구성합니다. pg_get_constraintdef의 그래프 쪽 대응 함수이고, pg_dump가 쓰는 것입니다.

2.17 이전부터

ag_get_propindexdef

ag_get_propindexdef ( index oid ) -> text

OID를 주면 속성 인덱스에 대한 CREATE PROPERTY INDEX 명령을 재구성합니다.

2.17 이전부터

ag_property_text

ag_property_text ( properties jsonb, key text, expected_kind “char” ) -> text

속성의 값을 text로 반환하지만, 저장된 값이 요구한 JSON 종류일 때만 그렇습니다.

2.18에 추가

agversion

agversion ( ) -> text

실행 중인 서버의 AgensGraph 버전을 반환하며, version()이 함께 담는 PostgreSQL 부분은 빼고 반환합니다.

2.17 이전부터

all

all ( variable IN list WHERE predicate ) -> boolean

리스트의 모든 요소에 대해 조건이 성립하면 참을 반환합니다.

2.17 이전부터

allshortestpaths

allshortestpaths ( pattern ) -> graphpath

두 정점 사이의 모든 최단 경로를 찾습니다. 경로 변수에 이름을 붙이면 경로마다 한 행을 반환하고, 표현식으로 쓰면 경로의 배열을 반환합니다.

2.17 이전부터

any

any ( variable IN list WHERE predicate ) -> boolean

리스트의 요소 중 적어도 하나에 대해 조건이 성립하면 참을 반환합니다.

2.17 이전부터

array_size

array_size ( list jsonb ) -> integer
array_size ( list json ) -> integer
array_size ( list anyarray ) -> integer

배열의 요소 개수를 반환합니다.

2.17 이전부터

asin

asin ( x jsonb ) -> jsonb
asin ( x double precision ) -> double precision

x의 아크사인을 라디안으로 반환합니다. x는 −1과 1 사이여야 합니다.

2.17 이전부터

atan

atan ( x jsonb ) -> jsonb
atan ( x double precision ) -> double precision

x의 아크탄젠트를 라디안으로 반환합니다.

2.17 이전부터

atan2

atan2 ( y jsonb, x jsonb ) -> jsonb
atan2 ( y double precision, x double precision ) -> double precision

y / x의 아크탄젠트를 라디안으로 반환하며, 두 인자의 부호를 써서 결과를 올바른 사분면에 놓습니다.

2.17 이전부터

avg

avg ( expression numeric ) -> numeric

그룹에서 null이 아닌 값들의 산술 평균을 반환합니다.

2.17 이전부터

cardinality

cardinality ( value jsonb ) -> jsonb
cardinality ( p graphpath ) -> jsonb

리스트의 요소 수, 맵의 항목 수, 또는 경로의 정점과 간선 수를 반환합니다.

2.18에 추가

ceil

ceil ( x jsonb ) -> jsonb
ceil ( x numeric ) -> numeric

x보다 작지 않은 가장 작은 정수를 반환합니다.

2.17 이전부터

coalesce

coalesce ( value [, value ] … ) -> jsonb

null이 아닌 첫 인자를 반환합니다.

2.17 이전부터

collect

collect ( expression anyelement ) -> jsonb
collect ( v vertex ) -> vertex[]
collect ( e edge ) -> edge[]
collect ( p graphpath ) -> graphpath[]

그룹의 값들을 그 그룹의 행 순서대로 리스트에 모읍니다.

2.17 이전부터

cos

cos ( x jsonb ) -> jsonb
cos ( x double precision ) -> double precision

라디안으로 주어진 각의 코사인을 반환합니다.

2.17 이전부터

cosd

cosd ( x double precision ) -> double precision

도로 주어진 각의 코사인을 반환합니다.

2.17 이전부터

cot

cot ( x jsonb ) -> jsonb
cot ( x double precision ) -> double precision

라디안으로 주어진 각의 코탄젠트, 즉 탄젠트의 역수를 반환합니다. 실제 예제는 atan2를 참고하십시오.

2.17 이전부터

count

count ( * ) -> bigint
count ( expression ) -> bigint

그룹의 행을 셉니다. count(*)는 모든 행을 세고, count(expression)은 그 표현식이 null이 아닌 행을 셉니다.

2.17 이전부터

cypher_to_jsonb

cypher_to_jsonb ( value anyelement ) -> jsonb

Cypher의 규칙으로 값을 jsonb로 감쌉니다. 그 규칙은 문자열 타입에 대해 to_jsonb의 규칙과 다릅니다.

2.17 이전부터

datetime

datetime ( ) -> timestamp with time zone
datetime ( timezone “any” ) -> timestamp without time zone
datetime ( year integer, month integer, mday integer, hour integer, min integer, sec integer, millisec integer, nanosec integer, timezone “any” ) -> timestamp without time zone

현재 트랜잭션의 타임스탬프, 지정한 시간대의 현재 시각, 또는 각 부분으로 만든 타임스탬프를 반환합니다.

2.17 이전부터

degrees

degrees ( x jsonb ) -> jsonb
degrees ( x double precision ) -> double precision

라디안을 도로 변환합니다.

2.17 이전부터

dijkstra

dijkstra ( pattern, weight ) -> graphpath
dijkstra ( pattern, weight, condition ) -> graphpath
dijkstra ( pattern, weight, LIMIT count ) -> graphpath
dijkstra ( pattern, weight, condition, LIMIT count ) -> graphpath

두 정점 사이의 가장 값싼 경로를 찾습니다. 각 간선의 비용은 weight가 평가된 값입니다.

2.17 이전부터

e

e ( ) -> numeric

오일러 수를 numeric으로 반환합니다.

2.17 이전부터

edge_to_jsonb

edge_to_jsonb ( e edge ) -> jsonb

간선의 properties를 반환합니다. 형 변환 e::jsonb가 쓰는 함수가 이것이고, properties(e)와 같은 값을 반환합니다.

2.17 이전부터

edges

edges ( p graphpath ) -> edge[]

경로의 간선을 순서대로 반환합니다. relationships가 Cypher가 쓰는 이름으로 부른 같은 함수입니다.

2.17 이전부터

end_id

end_id ( e edge ) -> graphid

그 정점을 읽지 않고, 간선이 가리키는 정점의 graphid를 반환합니다.

2.17 이전부터

end_vertex

end_vertex ( e edge ) -> vertex

간선이 가리키는 정점을 반환합니다. endNode가 Cypher가 쓰는 이름으로 부른 같은 함수이며, 둘 다 스칼라 페이지에 나열돼 있습니다.

2.17 이전부터

endNode

endNode ( e edge ) -> vertex

간선이 가리키는 정점을 반환합니다. end_vertex가 다른 이름으로 부른 같은 함수입니다. 경로 페이지의 end_vertex를 참고하십시오.

2.17 이전부터

exists

exists ( pattern ) -> boolean
exists ( property_reference ) -> boolean

패턴을 주면 그 패턴이 적어도 한 번 일치할 때 참을 반환합니다. 속성 참조를 주면 그 속성이 있고 null이 아닐 때 참을 반환합니다.

2.17 이전부터

exp

exp ( x jsonb ) -> jsonb
exp ( x numeric ) -> numeric

e의 x제곱을 반환합니다.

2.17 이전부터

floor

floor ( x jsonb ) -> jsonb
floor ( x numeric ) -> numeric

x보다 크지 않은 가장 큰 정수를 반환합니다. 실제 예제는 ceil을 참고하십시오.

2.17 이전부터

get_last_graph_write_stats

get_last_graph_write_stats ( ) -> record

이 세션의 가장 최근 그래프 쓰기가 무엇을 바꿨는지 카운터 다섯 개로 된 한 행으로 보고합니다. insertedvertices, insertededges, deletedvertices, deletededges, updatedproperties입니다.

2.17 이전부터

get_time

get_time ( ) -> time without time zone
get_time ( timezone “any” ) -> time without time zone

하루 중 현재 시각을 로컬 기준으로, 또는 지정한 시간대 기준으로 반환합니다.

2.17 이전부터

graph_labid

graph_labid ( qualified_label cstring ) -> integer

graph.label 형태로 지정한 레이블의 레이블 id를 반환합니다.

2.17 이전부터

graphid

graphid ( labid integer, locid bigint ) -> graphid
graphid ( id numeric ) -> graphid

레이블 id와 로컬 id로, 또는 graphid가 출력되는 형태인 labid.locid 숫자로 graphid를 만듭니다.

2.17 이전부터

graphid_in_jsonb_array

graphid_in_jsonb_array ( id graphid, elements jsonb ) -> boolean

graphid가 jsonb 배열에 담긴 그래프 요소 중 하나이면 참을 반환합니다.

2.17 이전부터

graphid_labid

graphid_labid ( id graphid ) -> integer

graphid의 레이블 부분, 즉 점 앞의 숫자를 반환합니다.

2.17 이전부터

graphid_locid

graphid_locid ( id graphid ) -> bigint

graphid의 로컬 부분, 즉 점 뒤의 숫자를 반환하며, 그 값은 그 레이블의 시퀀스에서 나온 것입니다.

2.17 이전부터

head

head ( list jsonb ) -> jsonb
head ( list anyarray ) -> anyelement

리스트의 첫 요소를 반환합니다.

2.17 이전부터

id

id ( v vertex ) -> graphid
id ( e edge ) -> graphid

그래프 요소의 식별자를 반환합니다.

2.17 이전부터

isEmpty

isEmpty ( value jsonb ) -> boolean

리스트에 요소가 없거나 맵에 키가 없으면 참을 반환합니다.

2.17 이전부터

jsonb_add

jsonb_add ( a jsonb, b jsonb ) -> jsonb

백틱 + 연산자를 구현합니다. 덧셈이거나, 문자열 둘 또는 리스트 둘의 이어 붙이기입니다.

2.17 이전부터

jsonb_array_length

jsonb_array_length ( list jsonb ) -> integer

jsonb 배열의 요소 개수를 integer로 반환합니다.

2.17 이전부터

jsonb_div

jsonb_div ( a jsonb, b jsonb ) -> jsonb

백틱 / 연산자를 구현합니다. 두 피연산자가 모두 정수면 정수 나눗셈입니다.

2.17 이전부터

jsonb_mod

jsonb_mod ( a jsonb, b jsonb ) -> jsonb

백틱 % 연산자를 구현합니다.

2.17 이전부터

jsonb_mul

jsonb_mul ( a jsonb, b jsonb ) -> jsonb

백틱 * 연산자를 구현합니다.

2.17 이전부터

jsonb_pow

jsonb_pow ( a jsonb, b jsonb ) -> jsonb

백틱 ^ 연산자를 구현합니다.

2.17 이전부터

jsonb_sub

jsonb_sub ( a jsonb, b jsonb ) -> jsonb

백틱 이항 - 연산자를 구현합니다.

2.17 이전부터

jsonb_uminus

jsonb_uminus ( a jsonb ) -> jsonb

백틱 접두 - 연산자를 구현합니다.

2.17 이전부터

jsonb_uplus

jsonb_uplus ( a jsonb ) -> jsonb

백틱 접두 + 연산자를 구현합니다.

2.17 이전부터

keys

keys ( map jsonb ) -> jsonb

맵의 키 이름 목록, 또는 그래프 요소의 속성 이름 목록을 반환합니다.

2.17 이전부터

label

label ( v vertex ) -> jsonb
label ( e edge ) -> jsonb

그래프 요소가 만들어질 때의 레이블 이름을 jsonb 문자열로 반환합니다.

2.17 이전부터

labels

labels ( v vertex ) -> jsonb

정점 자신의 레이블과 그것이 상속하는 모든 레이블을 가까운 것부터 담은 리스트를 반환합니다.

2.17 이전부터

last

last ( list jsonb ) -> jsonb
last ( list anyarray ) -> anyelement

리스트의 마지막 요소를 반환합니다. 빈 리스트는 null을 반환합니다. 실제 예제는 head를 참고하십시오.

2.17 이전부터

left

left ( string jsonb, n jsonb ) -> jsonb
left ( string text, n integer ) -> text

문자열의 앞 n글자를 반환합니다.

2.17 이전부터

length

length ( p graphpath ) -> jsonb
length ( vs vertex[] ) -> jsonb
length ( es edge[] ) -> jsonb
length ( ps graphpath[] ) -> jsonb

경로에 대해서는 그 안의 간선 수를, 배열에 대해서는 요소 수를 반환합니다.

2.17 이전부터

length

length ( value jsonb ) -> jsonb

문자열의 글자 수, 리스트의 요소 수, 또는 맵의 키 수를 반환합니다.

2.17 이전부터

ln

ln ( x double precision ) -> double precision
ln ( x numeric ) -> numeric

x의 자연로그를 반환합니다. Cypher에서 log가 해석되는 함수가 이것이고, 이 이름으로 직접 호출할 수도 있습니다.

2.17 이전부터

localdatetime

localdatetime ( ) -> timestamp with time zone
localdatetime ( timezone “any” ) -> timestamp without time zone

현재 트랜잭션의 타임스탬프, 또는 지정한 시간대의 현재 벽시계 값을 반환합니다.

2.17 이전부터

log

log ( x jsonb ) -> jsonb

x의 자연로그를 반환합니다.

2.17 이전부터

log10

log10 ( x double precision ) -> double precision
log10 ( x numeric ) -> numeric

x의 밑 10 로그를 반환합니다. 다시 쓰이지 않으므로 이 이름은 적힌 그대로의 뜻입니다.

2.17 이전부터

lower

lower ( string text ) -> text

문자열을 소문자로 반환합니다. PostgreSQL 자신의 함수이고, jsonb 문자열이 text로 변환되기 때문에 Cypher에서 닿을 수 있습니다. toLower가 Cypher 쪽 표기이고 jsonb를 곧바로 받습니다.

2.17 이전부터

lTrim

lTrim ( string jsonb ) -> jsonb

문자열 앞쪽의 공백을 제거합니다.

2.17 이전부터

max

max ( expression jsonb ) -> jsonb
max ( expression numeric ) -> numeric

그룹에서 가장 큰 값을 반환합니다.

2.17 이전부터

min

min ( expression jsonb ) -> jsonb
min ( expression numeric ) -> numeric

그룹에서 가장 작은 값을 반환합니다. max의 고려할 점이 그대로 적용됩니다.

2.17 이전부터

nodes

nodes ( p graphpath ) -> vertex[]

경로의 정점을 순서대로 반환하며, 그 경로가 시작하는 정점부터 시작합니다.

2.17 이전부터

none

none ( variable IN list WHERE predicate ) -> boolean

리스트의 어떤 요소에 대해서도 조건이 성립하지 않으면 참을 반환합니다. any의 부정입니다.

2.17 이전부터

percentileCont

percentileCont ( list jsonb, percentile numeric ) -> double precision

숫자 리스트의 백분위수를 반환하며, 요구한 위치를 사이에 둔 두 값 사이를 보간합니다.

2.17 이전부터

percentileDisc

percentileDisc ( list jsonb, percentile numeric ) -> double precision

숫자 리스트의 백분위수를 반환하며, 실제로 리스트에 있는 요소로 내림합니다. 고려할 점은 percentileCont와 같습니다.

2.17 이전부터

pi

pi ( ) -> double precision

π를 반환합니다. 실제 예제는 degrees를 참고하십시오.

2.17 이전부터

properties

properties ( v vertex ) -> jsonb
properties ( e edge ) -> jsonb

그래프 요소의 properties 전체를 맵으로 반환합니다.

2.17 이전부터

radians

radians ( x jsonb ) -> jsonb
radians ( x double precision ) -> double precision

도를 라디안으로 변환합니다.

2.17 이전부터

rand

rand ( ) -> jsonb

0 이상 1 미만의 반열린 구간에 있는 수를 반환합니다.

2.17 이전부터

range

range ( start integer, stop integer ) -> jsonb
range ( start integer, stop integer, step integer ) -> jsonb

start부터 stop까지의 정수 목록을 반환하며, 양 끝을 포함합니다.

2.17 이전부터

regather_graphmeta

regather_graphmeta ( ) -> boolean

ag_graphmeta를 비우고, 현재 그래프의 모든 간선 레이블을 스캔해 다시 만듭니다. ag_graphmeta는 어떤 레이블 세 쌍이 나타나는지와 각각을 이루는 간선이 몇 개인지를 기록하며, 플래너는 그것으로 패턴이 일치시킬 수 없는 레이블 테이블을 건너뜁니다.

2.17 이전부터

relationships

relationships ( p graphpath ) -> edge[]

경로의 간선을 순서대로 반환합니다. edges와 동일합니다.

2.17 이전부터

replace

replace ( string jsonb, old jsonb, new jsonb ) -> jsonb

어떤 부분 문자열이 나타나는 모든 곳을 다른 문자열로 바꿉니다.

2.17 이전부터

reverse

reverse ( string text ) -> text
reverse ( list jsonb ) -> jsonb
reverse ( list anyarray ) -> anyarray

문자열이나 리스트를 뒤집습니다.

2.17 이전부터

right

right ( string jsonb, n jsonb ) -> jsonb
right ( string text, n integer ) -> text

문자열의 뒤 n글자를 반환합니다. 속성에 정수 리터럴을 함께 줄 때의 모호함을 left와 공유하며, 그것을 푸는 두 방법도 같습니다.

2.17 이전부터

round

round ( x jsonb ) -> jsonb
round ( x numeric [, scale integer ] ) -> numeric

x를 가장 가까운 정수로 반올림하며, 0.5는 0에서 먼 쪽으로 올립니다.

2.17 이전부터

rTrim

rTrim ( string jsonb ) -> jsonb

문자열 뒤쪽의 공백을 제거합니다. 실제 예제는 lTrim을 참고하십시오.

2.17 이전부터

shortestpath

shortestpath ( pattern ) -> graphpath

두 정점 사이의 최단 경로 하나를 간선 수 기준으로 찾습니다. 똑같이 짧은 것이 여럿이면 그중 하나가 반환됩니다.

2.17 이전부터

sign

sign ( x jsonb ) -> jsonb
sign ( x numeric ) -> numeric

x의 부호에 따라 −1, 0, 1을 반환합니다. 실제 예제는 ceil을 참고하십시오.

2.17 이전부터

sin

sin ( x double precision ) -> double precision

라디안으로 주어진 각의 사인을 반환합니다.

2.17 이전부터

sind

sind ( x double precision ) -> double precision

도로 주어진 각의 사인을 반환합니다. 실제 예제는 cosd를 참고하십시오.

2.17 이전부터

single

single ( variable IN list WHERE predicate ) -> boolean

리스트의 요소 중 정확히 하나에 대해 조건이 성립하면 참을 반환합니다.

2.17 이전부터

size

size ( value ) -> jsonb
size ( pattern ) -> bigint

값을 주면 그 길이를 반환합니다. 패턴을 주면 그 패턴이 일치하는 횟수를 반환합니다.

2.17 이전부터

split

split ( string text, delimiter text ) -> anyarray

구분자가 나타나는 모든 곳에서 문자열을 잘라 리스트로 만듭니다.

2.17 이전부터

sqrt

sqrt ( x jsonb ) -> jsonb
sqrt ( x numeric ) -> numeric

x의 제곱근을 반환합니다.

2.17 이전부터

start_id

start_id ( e edge ) -> graphid

그 정점을 읽지 않고, 간선이 떠나는 정점의 graphid를 반환합니다. end_id의 고려할 점이 그대로 적용됩니다.

2.17 이전부터

start_vertex

start_vertex ( e edge ) -> vertex

간선이 떠나는 정점을 반환합니다. startNode가 Cypher가 쓰는 이름으로 부른 같은 함수입니다. startNode를 참고하십시오.

2.17 이전부터

startNode

startNode ( e edge ) -> vertex

간선이 떠나는 정점을 반환합니다. start_vertex가 다른 이름으로 부른 같은 함수입니다. 경로 페이지의 start_vertex를 참고하십시오.

2.17 이전부터

stdev

stdev ( expression numeric ) -> numeric

그룹의 값들의 표본 표준편차를 반환합니다. n − 1로 나누는 추정값입니다.

2.17 이전부터

stdevp

stdevp ( expression numeric ) -> numeric

그룹의 값들의 모표준편차를 반환합니다. n으로 나누는 추정값입니다. 파서가 이 이름을 stddev_pop으로 다시 쓰며, stDevP도 같은 호출입니다.

2.17 이전부터

str_size

str_size ( string text ) -> integer

문자열의 글자 수를 integer로 반환합니다.

2.17 이전부터

string_contains

string_contains ( a jsonb, b jsonb ) -> boolean

CONTAINS를 구현합니다. 오른쪽 문자열이 왼쪽 문자열 어디에든 나타나면 참입니다.

2.17 이전부터

string_ends_with

string_ends_with ( a jsonb, b jsonb ) -> boolean

ENDS WITH를 구현합니다. 왼쪽 문자열이 오른쪽 문자열로 끝나면 참입니다.

2.17 이전부터

string_regex

string_regex ( a jsonb, b jsonb ) -> boolean

=~를 구현합니다. 왼쪽 문자열이 오른쪽을 정규 표현식으로 삼아 일치하면 참입니다.

2.17 이전부터

string_starts_with

string_starts_with ( a jsonb, b jsonb ) -> boolean

STARTS WITH를 구현합니다. 왼쪽 문자열이 오른쪽 문자열로 시작하면 참입니다.

2.17 이전부터

substring

substring ( string jsonb, start jsonb ) -> jsonb
substring ( string jsonb, start jsonb, count jsonb ) -> jsonb

문자열의 일부를 반환하며, start에서 시작해 끝까지 또는 count글자만큼 이어집니다.

2.17 이전부터

sum

sum ( expression numeric ) -> numeric

그룹에서 null이 아닌 값들의 합을 반환합니다.

2.17 이전부터

tail

tail ( list jsonb ) -> jsonb
tail ( list anyarray ) -> anyarray

리스트의 첫 요소를 뺀 나머지 전부를 반환합니다.

2.17 이전부터

tan

tan ( x jsonb ) -> jsonb
tan ( x double precision ) -> double precision

라디안으로 주어진 각의 탄젠트를 반환합니다. 실제 예제는 sin을 참고하십시오.

2.17 이전부터

tand

tand ( x double precision ) -> double precision

도로 주어진 각의 탄젠트를 반환합니다. 실제 예제는 cosd를 참고하십시오.

2.17 이전부터

to_jsonb

to_jsonb ( value anyelement ) -> jsonb

어떤 SQL 값이든 jsonb로 변환하며, 복합 타입은 객체로, 배열은 배열로 대응시킵니다.

2.17 이전부터

toBoolean

toBoolean ( value text ) -> boolean
toBoolean ( value “any” ) -> boolean

값이 나타내는 불리언을 반환하고, 아무것도 나타내지 않으면 null을 반환합니다.

2.17 이전부터

toBooleanOrNull

toBooleanOrNull ( value text ) -> boolean
toBooleanOrNull ( value “any” ) -> boolean

값이 나타내는 불리언을 반환하거나 null을 반환합니다. toBoolean이 아예 읽을 수 없는 타입에서 오류를 낼 수 있는 자리에서, 이 함수는 null을 반환합니다.

2.17 이전부터

toFloat

toFloat ( value “any” ) -> double precision

값이 나타내는 부동소수점 수를 반환하거나 null을 반환합니다.

2.18에 추가

toFloatList

toFloatList ( list jsonb ) -> jsonb
toFloatList ( list anyarray ) -> double precision[]

리스트의 모든 요소를 부동소수점 수로 변환합니다.

2.17 이전부터

toInteger

toInteger ( value “any” ) -> bigint

값이 나타내는 정수를 반환하거나 null을 반환합니다.

2.18에 추가

toIntegerList

toIntegerList ( list jsonb ) -> jsonb
toIntegerList ( list anyarray ) -> bigint[]

리스트의 모든 요소를 정수로 변환합니다. 어느 오버로드가 적용되는지가 반환 타입을 결정하며, toFloatList와 정확히 같습니다. Cypher 리스트는 jsonb를, PostgreSQL 배열은 bigint[]를 줍니다.

2.17 이전부터

toLower

toLower ( string jsonb ) -> jsonb

문자열을 소문자로 반환합니다.

2.17 이전부터

toString

toString ( value jsonb ) -> jsonb

값의 문자열 형태를 반환합니다.

2.17 이전부터

toStringList

toStringList ( list jsonb ) -> jsonb
toStringList ( list anyarray ) -> text[]

리스트의 모든 요소를 문자열로 변환합니다. 어느 오버로드가 적용되는지가 반환 타입을 결정하며, toFloatList와 같습니다. Cypher 리스트는 jsonb를, PostgreSQL 배열은 text[]를 줍니다.

2.17 이전부터

toStringOrNull

toStringOrNull ( value “any” ) -> text

값의 문자열 형태를 반환하고, 그 값에 문자열 형태가 없으면 null을 반환합니다.

2.17 이전부터

toUpper

toUpper ( string jsonb ) -> jsonb

문자열을 대문자로 반환합니다. 실제 예제는 toLower를 참고하십시오.

2.17 이전부터

trim

trim ( string jsonb ) -> jsonb

문자열 양쪽 끝의 공백을 제거합니다.

2.17 이전부터

type

type ( e edge ) -> jsonb

간선의 레이블 이름을 jsonb 문자열로 반환합니다. label(e)와 같은 값이며, Cypher가 관계 타입에 쓰는 이름으로 부른 것입니다.

2.17 이전부터

unnest

unnest ( from_json jsonb ) -> setof jsonb

리스트를 요소마다 한 행으로 펼칩니다.

2.18에 추가

upper

upper ( string text ) -> text

문자열을 대문자로 반환합니다. PostgreSQL 자신의 함수입니다. lower를 참고하십시오.

2.17 이전부터

vertex_to_jsonb

vertex_to_jsonb ( v vertex ) -> jsonb

정점의 properties를 반환합니다. 형 변환 v::jsonb가 쓰는 함수가 이것이고, properties(v)와 같은 값을 반환합니다.

2.17 이전부터

vertices

vertices ( p graphpath ) -> vertex[]

경로의 정점을 순서대로 반환합니다. nodes와 동일합니다.

2.17 이전부터

collect는 2.18보다 오래됐지만, 네이티브 배열 결과는 이번 릴리스에서 왔습니다. jsonb 대신 vertex[]·edge[]·graphpath[]입니다. all·any·none·single 뒤의 삼치 논리 구현도 그렇습니다. 변경 목록 전체는 2.18 릴리스 노트에 있습니다.

다른 곳에 문서화된 함수#

meta 스키마는 SQL에서 그래프·레이블과 그 크기를 살펴보는 함수를 더해 줍니다. meta.labels(), meta.count(), meta.label_size() 등입니다. 핵심 카탈로그의 일부가 아니라 확장이므로, 설치한 데이터베이스에만 있습니다. 그 함수들은 자기 페이지인 그래프 메타데이터에 문서화돼 있고 여기서 반복하지 않습니다.

PostgreSQL 자신이 제공하는 모든 함수도 Cypher 쿼리에서 닿을 수 있으며, 여기 각 페이지에 설명된 타입 규칙을 따릅니다. 그것들에 대한 레퍼런스는 PostgreSQL 문서입니다.

이 레퍼런스가 빼놓은 것#

AgensGraph가 더한 함수들은 객체 식별자 7000번대부터 8100번대까지를 차지합니다. 그것들이 모두 호출하도록 만들어진 것은 아닙니다. 그 범위에는 타입 입력·출력 함수, B-tree와 GIN 연산자 클래스를 위한 비교·해시 지원 함수, 집계의 전이·최종 함수도 있습니다. 플래너 지원 함수 하나, pg_upgrade 도우미 둘, 그리고 경로 탐색 실행기가 해석하는 자리표 항목 넷도 있습니다. 이 레퍼런스는 쿼리가 쓸 수 있는 것을 문서화하고 그것들은 빼놓습니다.

자기 빌드가 무엇을 노출하는지 나열하기#

어떤 서버가 무엇을 갖고 있는지에 대한 권위는 카탈로그입니다. 아래는 그 범위의 모든 AgensGraph 함수를 집계 함수까지 포함해 나열합니다:

SELECT p.proname AS function,
       pg_catalog.pg_get_function_identity_arguments(p.oid) AS arguments,
       pg_catalog.format_type(p.prorettype, NULL) AS returns,
       CASE p.prokind WHEN 'a' THEN 'aggregate' ELSE 'function' END AS kind,
       obj_description(p.oid, 'pg_proc') AS description
FROM pg_catalog.pg_proc p
WHERE p.oid BETWEEN 7000 AND 8100
ORDER BY p.proname, p.oid;

이 2.18 서버에서는 195행이 나옵니다. 위에 나열한 지원 항목들 때문에 이 레퍼런스가 문서화하는 것보다 많습니다. 세기만 하려면 이렇게 하십시오:

SELECT count(*) FROM pg_catalog.pg_proc WHERE oid BETWEEN 7000 AND 8100;
 count
-------
   195

AgensGraph가 더하지 않은 이름의 함수는 나타나지 않습니다. 그것은 PostgreSQL의 것이기 때문입니다. avg, min, left, log10이 그런 것들입니다. 그중 하나를 찾으려면 WHERE 절을 빼고 이름으로 걸러 내십시오.

관련 항목#