[go: up one dir, main page]

0% encontró este documento útil (0 votos)
58 vistas3 páginas

Tips para El Manejo de Postgresql en Sigesp

El documento proporciona instrucciones para administrar una base de datos PostgreSQL, incluyendo cómo iniciar, detener y respaldar la base de datos, así como comandos para crear, eliminar y modificar bases de datos, tablas, usuarios y claves foráneas.

Cargado por

galarraga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
58 vistas3 páginas

Tips para El Manejo de Postgresql en Sigesp

El documento proporciona instrucciones para administrar una base de datos PostgreSQL, incluyendo cómo iniciar, detener y respaldar la base de datos, así como comandos para crear, eliminar y modificar bases de datos, tablas, usuarios y claves foráneas.

Cargado por

galarraga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Entrar al usuario postgres

administrador@servidorlibsur:~$ sudo su postgres

Iniciar la base de datos en slackware en caso de un apagon brusco


/usr/bin/pg_ctl -D /var/lib/pgsql/data/ -l /tmp/pgsql.log start

Entrar en el prompt de posgres con el comando psql


Crear la base de datos
postgres=# create database db_flds_prueba;

CAMBIAR ENCODING DE UTF-8 A LATIN1


postgres=# update pg_database set encoding=8 where datname='db_flds_prueba';

Eliminar la base de datos


postgres=# drop database db_flds_prueba;

Cambiar contraseña del usuario postgres


postgres=# ALTER USER postgres WITH PASSWORD 'nuevaclave';

Otros comandos en el prompt de postgres

1. Listar las bases de datos del servidor


\l

2. Listar las tablas de la base de datos seleccionada


\dt

3. Seleccionar una base de datos

The syntax for doing this: \c <database_name>. Suppose, you want to switch to a
database named datacamp_tutorials you can do so like the following -
\c nombre_de_la_base_de_datos

4. Describir una tabla en particular


\d <nombre_de_la_tabla>

5. Mostrar la version de ppostgres que se esta usando


SELECT version(); lets you do this -

6. Ver el historial de comandos


\s

7. Listar todos los comandos disponibles


\? comando

8. Limpiar la pantalla
\! clear

9. Salir del prompt de postgres


\q

Cargar la base de datos

En Debian 5:
psql -d db_flds_2014 -f /home/postgres/db_fdls_2014_20140427.sql

En slackware 13.07:
psql -U postgres -d db_flds_prueba -f /home/postgres/db_flds_2019_2019_09_17.sql

Respaldar la base de datos

En Debian 5:
pg_dump -d db_flds_2014 -f /home/postgres/db_fdls_2014_20140427.sql

En slackware 13.07:
pg_dump -v -O -h 127.0.0.1 -U postgres -W db_flds_2019 >
/home/postgres/db_flds_2019_2019_10_06.sql

Mostrar el tamaño de las base de datos en el servidor:


SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;

Mostrar la cantidad de columnas de una tabla

select count(*) from information_schema.columns where table_name='sigesp_empresa';

Listar todas las tablas ordenadas por el número de registros:


select n.nspname as table_schema,
c.relname as table_name,
c.reltuples as rows
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
where c.relkind = 'r'
and n.nspname not in ('information_schema','pg_catalog')
order by c.reltuples desc;

Manejo de claves foraneas

Listar todas las claves foraneas en la base de datos (Directamente en la base de


datos usando un comando sql):
SELECT
tc.table_schema,
tc.constraint_name,
tc.table_name,
kcu.column_name,
ccu.table_schema AS foreign_table_schema,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
AND tc.table_schema = kcu.table_schema
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
AND ccu.table_schema = tc.table_schema
WHERE tc.constraint_type = 'FOREIGN KEY' order by table_name;

Con una sentencia de Bash script hallar las claves foraneas en un respaldo del
sigesp
root@emilio-desktop:/home/emilio# cat /home/postgres/db_flds_2019_2019_03_17.sql |
grep -B 1 "ADD CONSTRAINT fk_siv_" |grep -v "\--"

root@emilio-desktop:/home/emilio# cat /home/postgres/db_flds_2019_2019_03_17.sql |


grep -B 1 "REFERENCES siv_" |grep -v "\--"

Desactivar una clave foranea (Ejemplo)


ALTER TABLE ONLY siv_articuloalmacen DROP CONSTRAINT
fk_siv_arti_siv_artic_siv_arti;

Reactivar una clave foranea


ALTER TABLE ONLY siv_articuloalmacen
ADD CONSTRAINT fk_siv_arti_siv_artic_siv_arti FOREIGN KEY (codemp, codart)
REFERENCES siv_articulo(codemp, codart) ON UPDATE RESTRICT ON DELETE RESTRICT;

También podría gustarte