110 lines
4.9 KiB
HTML

<!-- 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>