<!-- 13 -->
<p>
  <b>Este manual aplica para darle permisos a usuarios de PostgreSQL (no usuario postgres) para la ejecución de
    scripts</b>, primero necesitamos el nombre de la base de datos a la que vamos a afectar, el nombre del usuario con
  el cual nos
  vamos a identificar en PostgreSQL y la <a class="link" data-bs-toggle="modal" data-bs-target="#ip">IP</a> del equipo.
  Una vez conociendo esos datos, tendremos que modificar el archivo de configuración <b>pg_hba.conf</b>, que es crucial
  para la seguridad y configuración de acceso en PostgreSQL, ya que define quién puede conectarse y cómo deben
  autenticarse. Este archivo se encuentra ubicado en la ruta <b>/etc/postgresql/<a class="link" data-bs-toggle="modal"
      data-bs-target="#psql_version">[psql_version]</a>/main/</b>. Para modificarlo, ejecutamos el siguiente comando:
</p>

{% set i %}
sudo nano /etc/postgresql/16/main/pg_hba.conf
{% endset %}
{% with codigo=i.strip(), isEditable="true" %}{% include 'components/copy-code.html' %}{% endwith %}

<p>
  Nos vamos hasta el final del archivo donde encontraremos el texto comentado
</p>

{% set ii %}
# TYPE  DATABASE        USER            ADDRESS                 METHOD
{% endset %}
{% with codigo=ii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

<p>
  Debajo de ese texto agregaremos una nueva línea, asegurándonos de respetar la <a class="link" data-bs-toggle="modal"
    data-bs-target="#indentacion">indentación</a>, con la siguiente información.para ello el TYPE
  hace referencia al tipo de conexión, nosotros le colocaremos el tipo local, en DATABASE el nombre de la base de datos,
  USER es el nombre del usuario permitido, ADDRESS lo dejaremos vacio y METHOD md5 quedando el archivo de configuración
  de la siguiente manera:
</p>

{% set iii %}
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   db_sample       usr_1                                	  md5
{% endset %}
{% with codigo=iii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

<p>
  Guardamos los cambios con <b>Ctrl + S</b> y cerramos con <b>Ctrl + X</b>, despues reiniciamos el servicio.
</p>

{% set iv %}
sudo service postgresql restart
{% endset %}
{% with codigo=iv.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

<p>
  Una vez ejecutados todos los pasos anteriores, ya podremos ejecutar scripts de SQL., abriremos una terminal donde
  tengas
  tu archivo <a class="link" data-bs-toggle="modal" data-bs-target="#dump">DUMP</a> , como mencioné al inicio de la
  nota, deberás conocer la ip del servidor de base de datos, el nombre del usuario que te vas a autenticar y
  adicionalmente la ruta de tu archivo dump.
</p>
<ul class="nav nav-tabs" id="tab-dix" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1"
      aria-selected="true"><i class="bi bi-database-fill"></i> Con nombre DB</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="tab2-tab" data-toggle="tab" href="#tab2" role="tab" aria-controls="tab2"
      aria-selected="false"><i class="bi bi-database-fill"></i> Sin nombre DB</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade active show" id="tab1" role="tabpanel" aria-labelledby="tab1-tab">
    <!-- {# i nav 1 #} -->
    
{% set v %}
psql -h 172.20.86.252 -U user_1 -d db_sample -a -f dump_backup_sample.sql
{% endset %}
{% with codigo=v.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

    <!-- {# f nav 1 #} -->
  </div>
  <div class="tab-pane fade" id="tab2" role="tabpanel" aria-labelledby="tab2-tab">
    <!-- {# i nav 2 #} -->
    {% set vi %}
    psql -h 172.20.86.252 -U user_1 -a -f dump_backup_sample.sql
    {% endset %}
    {% with codigo=vi.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
    <!-- {# f nav 2 #} -->
  </div>
</div>
<ul class="lst">
  <li>
    -h = host, la ip del servidor de base de datos
  </li>
  <li>
    -U = nombre del usuario, , debe ser el mismo nombre que registraste en el archivo pg_hba.conf (user_1)
  </li>
  <li>
    <b>-d = nombre de la base de datos, debe ser el mismo nombre que registraste en el archivo pg_hba.conf
      (db_sample)</b>
  </li>
  <li>
    -a = nos mostrará cada una de las respuestas de psql cuando se ejecuten
  </li>
  <li>
    -f = nombre del archivo con extensión .sql para este caso usare un archivo ficticio dump_backup_sample.sql
  </li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<p>
  Una vez ejecutado el comando anterior, vas a dar enter y te solicitará la contraseña, la ingresas y las instrucciones
  de tu archivo .sql se empezarán a ejecutar.
</p>