{% comment %} Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} <ol> <li>Start a shell for the postgres user: <notextile><pre>~$ <span class="userinput">sudo -u postgres bash</span></pre></notextile> </li> <li>Generate a new database password: <notextile><pre>$ <span class="userinput">ruby -e 'puts rand(2**128).to_s(36)'</span> yourgeneratedpassword </pre></notextile> Record this. You'll need it when you set up the Rails server later. </li> <li>Create a database user with the password you generated: <notextile><pre><code>$ <span class="userinput">createuser --encrypted -R -S --pwprompt {{service_role}}</span> Enter password for new role: <span class="userinput">yourgeneratedpassword</span> Enter it again: <span class="userinput">yourgeneratedpassword</span></code></pre></notextile> </li> <li>Create a database owned by the new user: <notextile><pre><code>$ <span class="userinput">createdb {{service_database}} -T template0 -E UTF8 -O {{service_role}}</span></code></pre></notextile> </li> {% if use_contrib %} <li>Enable the pg_trgm extension <notextile><pre>$ <span class="userinput">psql {{service_database}} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"</span></pre></notextile> </li> {% endif %} <li>Exit the postgres user shell: <notextile><pre>$ <span class="userinput">exit</span></pre></notextile> </li> </ol>