title: PostgreSQL 11: Error [57P03]: FATAL: the database system is in recovery mode
body: <p>I'm trying to get the <code>plpython3u</code> language working in <em>PostgreSQL 11</em> (I'm working on a <em>Windows 10</em> machine).</p>
  
  <p>I was able to successfully install it using the following command.</p>
  
  <pre><code>CREATE EXTENSION plpython3u;
  </code></pre>
  
  <p>I had to download <code>python36.dll</code> and save it in <code>C:\Windows\System32</code> to successfully execute this because previously I was getting the following error.</p>
  
  <blockquote>
    <p>could not load library "C:/Program
    Files/PostgreSQL/11/lib/plpython3.dll": The specified module could not
    be found.</p>
  </blockquote>
  
  <p>To test the installation I tried creating the following function which I got from the <a href="https://www.postgresql.org/docs/current/plpython-funcs.html" rel="nofollow noreferrer">PostgreSQL Docs</a>.</p>
  
  <pre><code>CREATE FUNCTION pymax (a integer, b integer)
    RETURNS integer
  AS $$
    if a &gt; b:
      return a
    return b
  $$ LANGUAGE plpython3u;
  </code></pre>
  
  <p>But executing it gives me the following error.</p>
  
  <blockquote>
    <p>SQL Error [57P03]: FATAL: the database system is in recovery mode</p>
  </blockquote>
  
  <p>Following is what I got from the logs.</p>
  
  <pre class="lang-none prettyprint-override"><code>Current thread 0x000035b8 (most recent call first):
  2020-01-16 20:10:17.136 CST [6980] LOG:  server process (PID 12532) was terminated by exception 0xC0000409
  2020-01-16 20:10:17.136 CST [6980] DETAIL:  Failed process was running: CREATE FUNCTION public.pymax (a integer, b integer)
  
        RETURNS integer
  
      AS $$
  
        if a &gt; b:
  
          return a
  
        return b
  
      $$ LANGUAGE plpython3u
  2020-01-16 20:10:17.136 CST [6980] HINT:  See C include file "ntstatus.h" for a description of the hexadecimal value.
  2020-01-16 20:10:17.136 CST [6980] LOG:  terminating any other active server processes
  2020-01-16 20:10:17.229 CST [5636] WARNING:  terminating connection because of crash of another server process
  2020-01-16 20:10:17.229 CST [5636] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
  2020-01-16 20:10:17.229 CST [5636] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
  2020-01-16 20:10:17.246 CST [6980] LOG:  all server processes terminated; reinitializing
  2020-01-16 20:10:17.373 CST [4944] LOG:  database system was interrupted; last known up at 2020-01-16 20:09:02 CST
  2020-01-16 20:10:17.392 CST [9880] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:17.509 CST [11412] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:17.623 CST [12472] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:17.730 CST [12480] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:17.843 CST [12432] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:17.951 CST [12492] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:18.060 CST [12744] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:18.175 CST [12160] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:18.298 CST [13084] FATAL:  the database system is in recovery mode
  2020-01-16 20:10:18.828 CST [4944] LOG:  database system was not properly shut down; automatic recovery in progress
  2020-01-16 20:10:18.835 CST [4944] LOG:  redo starts at 0/17FF400
  2020-01-16 20:10:18.835 CST [4944] LOG:  redo done at 0/17FF438
  2020-01-16 20:10:19.044 CST [6980] LOG:  database system is ready to accept connections
  Fatal Python error: Py_Initialize: unable to load the file system codec
  ModuleNotFoundError: No module named 'encodings'
  </code></pre>
  
  <p>Any help will be appreciated.</p>