1/* contrib/dblink/dblink--1.2.sql */
2
3-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4\echo Use "CREATE EXTENSION dblink" to load this file. \quit
5
6-- dblink_connect now restricts non-superusers to password
7-- authenticated connections
8CREATE FUNCTION dblink_connect (text)
9RETURNS text
10AS 'MODULE_PATHNAME','dblink_connect'
11LANGUAGE C STRICT PARALLEL RESTRICTED;
12
13CREATE FUNCTION dblink_connect (text, text)
14RETURNS text
15AS 'MODULE_PATHNAME','dblink_connect'
16LANGUAGE C STRICT PARALLEL RESTRICTED;
17
18-- dblink_connect_u allows non-superusers to use
19-- non-password authenticated connections, but initially
20-- privileges are revoked from public
21CREATE FUNCTION dblink_connect_u (text)
22RETURNS text
23AS 'MODULE_PATHNAME','dblink_connect'
24LANGUAGE C STRICT PARALLEL RESTRICTED SECURITY DEFINER;
25
26CREATE FUNCTION dblink_connect_u (text, text)
27RETURNS text
28AS 'MODULE_PATHNAME','dblink_connect'
29LANGUAGE C STRICT PARALLEL RESTRICTED SECURITY DEFINER;
30
31REVOKE ALL ON FUNCTION dblink_connect_u (text) FROM public;
32REVOKE ALL ON FUNCTION dblink_connect_u (text, text) FROM public;
33
34CREATE FUNCTION dblink_disconnect ()
35RETURNS text
36AS 'MODULE_PATHNAME','dblink_disconnect'
37LANGUAGE C STRICT PARALLEL RESTRICTED;
38
39CREATE FUNCTION dblink_disconnect (text)
40RETURNS text
41AS 'MODULE_PATHNAME','dblink_disconnect'
42LANGUAGE C STRICT PARALLEL RESTRICTED;
43
44CREATE FUNCTION dblink_open (text, text)
45RETURNS text
46AS 'MODULE_PATHNAME','dblink_open'
47LANGUAGE C STRICT PARALLEL RESTRICTED;
48
49CREATE FUNCTION dblink_open (text, text, boolean)
50RETURNS text
51AS 'MODULE_PATHNAME','dblink_open'
52LANGUAGE C STRICT PARALLEL RESTRICTED;
53
54CREATE FUNCTION dblink_open (text, text, text)
55RETURNS text
56AS 'MODULE_PATHNAME','dblink_open'
57LANGUAGE C STRICT PARALLEL RESTRICTED;
58
59CREATE FUNCTION dblink_open (text, text, text, boolean)
60RETURNS text
61AS 'MODULE_PATHNAME','dblink_open'
62LANGUAGE C STRICT PARALLEL RESTRICTED;
63
64CREATE FUNCTION dblink_fetch (text, int)
65RETURNS setof record
66AS 'MODULE_PATHNAME','dblink_fetch'
67LANGUAGE C STRICT PARALLEL RESTRICTED;
68
69CREATE FUNCTION dblink_fetch (text, int, boolean)
70RETURNS setof record
71AS 'MODULE_PATHNAME','dblink_fetch'
72LANGUAGE C STRICT PARALLEL RESTRICTED;
73
74CREATE FUNCTION dblink_fetch (text, text, int)
75RETURNS setof record
76AS 'MODULE_PATHNAME','dblink_fetch'
77LANGUAGE C STRICT PARALLEL RESTRICTED;
78
79CREATE FUNCTION dblink_fetch (text, text, int, boolean)
80RETURNS setof record
81AS 'MODULE_PATHNAME','dblink_fetch'
82LANGUAGE C STRICT PARALLEL RESTRICTED;
83
84CREATE FUNCTION dblink_close (text)
85RETURNS text
86AS 'MODULE_PATHNAME','dblink_close'
87LANGUAGE C STRICT PARALLEL RESTRICTED;
88
89CREATE FUNCTION dblink_close (text, boolean)
90RETURNS text
91AS 'MODULE_PATHNAME','dblink_close'
92LANGUAGE C STRICT PARALLEL RESTRICTED;
93
94CREATE FUNCTION dblink_close (text, text)
95RETURNS text
96AS 'MODULE_PATHNAME','dblink_close'
97LANGUAGE C STRICT PARALLEL RESTRICTED;
98
99CREATE FUNCTION dblink_close (text, text, boolean)
100RETURNS text
101AS 'MODULE_PATHNAME','dblink_close'
102LANGUAGE C STRICT PARALLEL RESTRICTED;
103
104CREATE FUNCTION dblink (text, text)
105RETURNS setof record
106AS 'MODULE_PATHNAME','dblink_record'
107LANGUAGE C STRICT PARALLEL RESTRICTED;
108
109CREATE FUNCTION dblink (text, text, boolean)
110RETURNS setof record
111AS 'MODULE_PATHNAME','dblink_record'
112LANGUAGE C STRICT PARALLEL RESTRICTED;
113
114CREATE FUNCTION dblink (text)
115RETURNS setof record
116AS 'MODULE_PATHNAME','dblink_record'
117LANGUAGE C STRICT PARALLEL RESTRICTED;
118
119CREATE FUNCTION dblink (text, boolean)
120RETURNS setof record
121AS 'MODULE_PATHNAME','dblink_record'
122LANGUAGE C STRICT PARALLEL RESTRICTED;
123
124CREATE FUNCTION dblink_exec (text, text)
125RETURNS text
126AS 'MODULE_PATHNAME','dblink_exec'
127LANGUAGE C STRICT PARALLEL RESTRICTED;
128
129CREATE FUNCTION dblink_exec (text, text, boolean)
130RETURNS text
131AS 'MODULE_PATHNAME','dblink_exec'
132LANGUAGE C STRICT PARALLEL RESTRICTED;
133
134CREATE FUNCTION dblink_exec (text)
135RETURNS text
136AS 'MODULE_PATHNAME','dblink_exec'
137LANGUAGE C STRICT PARALLEL RESTRICTED;
138
139CREATE FUNCTION dblink_exec (text,boolean)
140RETURNS text
141AS 'MODULE_PATHNAME','dblink_exec'
142LANGUAGE C STRICT PARALLEL RESTRICTED;
143
144CREATE TYPE dblink_pkey_results AS (position int, colname text);
145
146CREATE FUNCTION dblink_get_pkey (text)
147RETURNS setof dblink_pkey_results
148AS 'MODULE_PATHNAME','dblink_get_pkey'
149LANGUAGE C STRICT PARALLEL RESTRICTED;
150
151CREATE FUNCTION dblink_build_sql_insert (text, int2vector, int, _text, _text)
152RETURNS text
153AS 'MODULE_PATHNAME','dblink_build_sql_insert'
154LANGUAGE C STRICT PARALLEL RESTRICTED;
155
156CREATE FUNCTION dblink_build_sql_delete (text, int2vector, int, _text)
157RETURNS text
158AS 'MODULE_PATHNAME','dblink_build_sql_delete'
159LANGUAGE C STRICT PARALLEL RESTRICTED;
160
161CREATE FUNCTION dblink_build_sql_update (text, int2vector, int, _text, _text)
162RETURNS text
163AS 'MODULE_PATHNAME','dblink_build_sql_update'
164LANGUAGE C STRICT PARALLEL RESTRICTED;
165
166CREATE FUNCTION dblink_current_query ()
167RETURNS text
168AS 'MODULE_PATHNAME','dblink_current_query'
169LANGUAGE C PARALLEL RESTRICTED;
170
171CREATE FUNCTION dblink_send_query(text, text)
172RETURNS int4
173AS 'MODULE_PATHNAME', 'dblink_send_query'
174LANGUAGE C STRICT PARALLEL RESTRICTED;
175
176CREATE FUNCTION dblink_is_busy(text)
177RETURNS int4
178AS 'MODULE_PATHNAME', 'dblink_is_busy'
179LANGUAGE C STRICT PARALLEL RESTRICTED;
180
181CREATE FUNCTION dblink_get_result(text)
182RETURNS SETOF record
183AS 'MODULE_PATHNAME', 'dblink_get_result'
184LANGUAGE C STRICT PARALLEL RESTRICTED;
185
186CREATE FUNCTION dblink_get_result(text, bool)
187RETURNS SETOF record
188AS 'MODULE_PATHNAME', 'dblink_get_result'
189LANGUAGE C STRICT PARALLEL RESTRICTED;
190
191CREATE FUNCTION dblink_get_connections()
192RETURNS text[]
193AS 'MODULE_PATHNAME', 'dblink_get_connections'
194LANGUAGE C PARALLEL RESTRICTED;
195
196CREATE FUNCTION dblink_cancel_query(text)
197RETURNS text
198AS 'MODULE_PATHNAME', 'dblink_cancel_query'
199LANGUAGE C STRICT PARALLEL RESTRICTED;
200
201CREATE FUNCTION dblink_error_message(text)
202RETURNS text
203AS 'MODULE_PATHNAME', 'dblink_error_message'
204LANGUAGE C STRICT PARALLEL RESTRICTED;
205
206CREATE FUNCTION dblink_get_notify(
207    OUT notify_name TEXT,
208    OUT be_pid INT4,
209    OUT extra TEXT
210)
211RETURNS setof record
212AS 'MODULE_PATHNAME', 'dblink_get_notify'
213LANGUAGE C STRICT PARALLEL RESTRICTED;
214
215CREATE FUNCTION dblink_get_notify(
216    conname TEXT,
217    OUT notify_name TEXT,
218    OUT be_pid INT4,
219    OUT extra TEXT
220)
221RETURNS setof record
222AS 'MODULE_PATHNAME', 'dblink_get_notify'
223LANGUAGE C STRICT PARALLEL RESTRICTED;
224
225/* New stuff in 1.1 begins here */
226
227CREATE FUNCTION dblink_fdw_validator(
228    options text[],
229    catalog oid
230)
231RETURNS void
232AS 'MODULE_PATHNAME', 'dblink_fdw_validator'
233LANGUAGE C STRICT PARALLEL SAFE;
234
235CREATE FOREIGN DATA WRAPPER dblink_fdw VALIDATOR dblink_fdw_validator;
236