diff options
| author | Noah Misch <noah@leadboat.com> | 2018-07-28 20:08:01 -0700 |
|---|---|---|
| committer | Noah Misch <noah@leadboat.com> | 2018-07-28 20:08:08 -0700 |
| commit | a117c7a7b62f8978052b69e8e3bfdf8f8099a61d (patch) | |
| tree | 6ea3a14339761f58ab221217c6e2046177f355e3 /doc/src/sgml/ref/create_function.sgml | |
| parent | 9a513f8f9e87462ec63a9f08bcd2d4a7e1f6fa4d (diff) | |
Document security implications of qualified names.
Commit 5770172cb0c9df9e6ce27c507b449557e5b45124 documented secure schema
usage, and that advice suffices for using unqualified names securely.
Document, in typeconv-func primarily, the additional issues that arise
with qualified names. Back-patch to 9.3 (all supported versions).
Reviewed by Jonathan S. Katz.
Discussion: https://postgr.es/m/20180721012446.GA1840594@rfd.leadboat.com
Diffstat (limited to 'doc/src/sgml/ref/create_function.sgml')
| -rw-r--r-- | doc/src/sgml/ref/create_function.sgml | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml index c0adb8cf1e6..06be04eb5c5 100644 --- a/doc/src/sgml/ref/create_function.sgml +++ b/doc/src/sgml/ref/create_function.sgml @@ -545,8 +545,11 @@ CREATE [ OR REPLACE ] FUNCTION as for the <xref linkend="sql-load"/> command. The string <replaceable class="parameter">link_symbol</replaceable> is the function's link symbol, that is, the name of the function in the C - language source code. If the link symbol is omitted, it is assumed - to be the same as the name of the SQL function being defined. + language source code. If the link symbol is omitted, it is assumed to + be the same as the name of the SQL function being defined. The C names + of all functions must be different, so you must give overloaded C + functions different C names (for example, use the argument types as + part of the C names). </para> <para> @@ -575,10 +578,9 @@ CREATE [ OR REPLACE ] FUNCTION <productname>PostgreSQL</productname> allows function <firstterm>overloading</firstterm>; that is, the same name can be used for several different functions so long as they have distinct - input argument types. However, the C names of all functions must be - different, so you must give overloaded C functions different C - names (for example, use the argument types as part of the C - names). + input argument types. Whether or not you use it, this capability entails + security precautions when calling functions in databases where some users + mistrust other users; see <xref linkend="typeconv-func"/>. </para> <para> |
