Files
doc-fr/reference/pgsql/functions/pg-lo-create.xml
George Peter Banyard 8e82164d85 Apply commit c2eca73ef79ebe78cebb34053e41b565af504c4f
[PHP 8.1] Use PgSql objects instead of resources
2021-10-16 20:03:39 +01:00

143 lines
4.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-lo-create" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_lo_create</refname>
<refpurpose>
Crée un objet de grande taille PostgreSQL
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>pg_lo_create</methodname>
<methodparam choice="opt"><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>object_id</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>int</type><methodname>pg_lo_create</methodname>
<methodparam><type>mixed</type><parameter>object_id</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_lo_create</function> crée un objet de grande taille
et retourne son <varname>OID</varname>. Les modes d'accès PostgreSQL <constant>INV_READ</constant>,
<constant>INV_WRITE</constant> et <constant>INV_ARCHIVE</constant> ne sont pas
supportés : l'objet peut toujours être créé avec
des droits d'accès en lecture et écriture. Le mode
<constant>INV_ARCHIVE</constant>
a été supprimé des bases PostgreSQL (version 6.3 et ultérieur).
</para>
<para>
Pour utiliser un objet de grande taille, il est
nécessaire de le faire dans une transaction.
</para>
<para>
Au lieu d'utiliser l'interface d'objet de grande taille ((qui n'a aucun contrôle
d'accès et qui est encombrant à utiliser), essayez la colonne de type
<varname>bytea</varname> de PostgreSQL et
<function>pg_escape_bytea</function>.
</para>
<note>
<para>
Auparavant, cette fonction s'appelait <function>pg_locreate</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
&pgsql.parameter.connection-with-unspecified-default;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>object_id</parameter></term>
<listitem>
<para>
Si le paramètre <parameter>object_id</parameter> est fourni, la fonction
essayera de créer un objet large avec cet identifiant, sinon, un identifiant
d'objet disponible sera assigné par le serveur. Ce paramètre dépend d'une
fonctionnalité qui est apparue avec PostgreSQL 8.1.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un objet large <varname>OID</varname>, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>pg_lo_create</function></title>
<programlisting role="php">
<![CDATA[
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "données objet de grande taille");
pg_lo_close($handle);
pg_query($database, "commit");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->