Home Explore Blog CI



postgresql

42th chunk of `doc/src/sgml/installation.sgml`
83bf5c587ff67fcb223efec7f4488668685170d123d840520000000100000fa3
 <term><option>-Dtap_tests={ auto | enabled | disabled }</option></term>
      <listitem>
       <para>
        Enable tests using the Perl TAP tools.  Defaults to auto and requires
        a Perl installation and the Perl module <literal>IPC::Run</literal>.
        See <xref linkend="regress-tap"/> for more information.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-pg-test-extra-meson">
      <term><option>-DPG_TEST_EXTRA=<replaceable>TEST_SUITES</replaceable></option></term>
      <listitem>
       <para>
        Enable additional test suites, which are not run by default because
        they are not secure to run on a multiuser system, require special
        software to run, or are resource intensive.  The argument is a
        whitespace-separated list of tests to enable. See
        <xref linkend="regress-additional"/> for details. If the
        <envar>PG_TEST_EXTRA</envar> environment variable is set when the
        tests are run, it overrides this setup-time option.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-b-coverage-meson">
      <term><option>-Db_coverage={ true | false }</option></term>
      <listitem>
       <para>
        If using GCC, all programs and libraries are compiled with
        code coverage testing instrumentation.  When run, they
        generate files in the build directory with code coverage
        metrics.
        See <xref linkend="regress-coverage"/>
        for more information. This option is for use only with GCC
        and when doing development work.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-dtrace-meson">
      <term><option>-Ddtrace={ auto | enabled | disabled }</option></term>
      <listitem>
       <para>
        <indexterm>
         <primary>DTrace</primary>
        </indexterm>
        Enabling this compiles <productname>PostgreSQL</productname> with support for the
        dynamic tracing tool DTrace.
        See <xref linkend="dynamic-trace"/> for more information.
       </para>

       <para>
        To point to the <command>dtrace</command> program, the
        <option>DTRACE</option> option can be set.  This
        will often be necessary because <command>dtrace</command> is
        typically installed under <filename>/usr/sbin</filename>,
        which might not be in your <envar>PATH</envar>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-injection-points-meson">
      <term><option>-Dinjection_points={ true | false }</option></term>
      <listitem>
       <para>
        Compiles <productname>PostgreSQL</productname> with support for
        injection points in the server. Injection points allow to run
        user-defined code from within the server in pre-defined code paths.
        This helps in testing and in the investigation of concurrency scenarios
        in a controlled fashion. This option is disabled by default.  See
        <xref linkend="xfunc-addin-injection-points"/> for more details.  This
        option is intended to be used only by developers for testing.
       </para>
      </listitem>
     </varlistentry>

      <varlistentry id="configure-segsize-blocks-meson">
       <term><option>-Dsegsize_blocks=SEGSIZE_BLOCKS</option></term>
       <listitem>
        <para>
         Specify the relation segment size in blocks. If both
         <option>-Dsegsize</option> and this option are specified, this option
         wins.

         This option is only for developers, to test segment related code.
        </para>
       </listitem>
      </varlistentry>

    </variablelist>
   </sect3>
  </sect2>

  <sect2 id="targets-meson">
   <title><literal>meson</literal> Build Targets</title>

   <para>
    Individual build targets can be built using <command>ninja</command> <replaceable>target</replaceable>.

    When no target is specified, everything except documentation is
    built. Individual

Title: Additional Meson Build Options and Targets
Summary
This section describes additional Meson build options for PostgreSQL, including test suites, code coverage, DTrace support, injection points, and segment size configuration, as well as information on building individual targets using the ninja command.