db:postgresql
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| db:postgresql [2020/08/04 13:49] – [Bases] grillo | db:postgresql [2020/12/09 16:06] (actual) – [Debug] grillo | ||
|---|---|---|---|
| Línea 22: | Línea 22: | ||
| $ ps -ef | grep " | $ ps -ef | grep " | ||
| ``` | ``` | ||
| + | |||
| + | VER SERVIDOR AL QUE ESTOY CONECTADO | ||
| + | ``` | ||
| + | \conninfo | ||
| + | ``` | ||
| + | ``` | ||
| + | SELECT CURRENT_USER usr, :' | ||
| + | ``` | ||
| + | ``` | ||
| + | SELECT inet_server_addr() ip, inet_server_port() port; | ||
| + | ``` | ||
| + | |||
| Línea 41: | Línea 53: | ||
| $ psql -U prueba -h localhost -W -d dbprueba | $ psql -U prueba -h localhost -W -d dbprueba | ||
| $ psql -U prueba -h localhost -W " | $ psql -U prueba -h localhost -W " | ||
| + | ``` | ||
| + | |||
| + | usuario " | ||
| + | ``` | ||
| + | $ psql -U prueba -h localhost -W " | ||
| + | ``` | ||
| + | |||
| + | |||
| + | LISTAR ESQUEMAS DE UNA BASE | ||
| + | ``` | ||
| + | postgres=# \dp | ||
| + | postgres=# select schema_name from information_schema.schemata; | ||
| + | ``` | ||
| + | |||
| + | VER ESQUEMA ACTUAL | ||
| + | ``` | ||
| + | postgres=# SHOW search_path; | ||
| + | ``` | ||
| + | |||
| + | CONECTARSE A UN ESQUEMA | ||
| + | ``` | ||
| + | postgres=# SET search_path TO myschema, | ||
| ``` | ``` | ||
| Línea 95: | Línea 129: | ||
| VER TABLAS DE LA BASE | VER TABLAS DE LA BASE | ||
| - | ``` postgres=# \dt ``` | + | ``` |
| - | ``` mydb=# SELECT * FROM " | + | postgres=# \dt |
| + | mydb=# SELECT * FROM " | ||
| + | ``` | ||
| VER TABLAS LISTAS Y SECUENCIAS DE LA BASE | VER TABLAS LISTAS Y SECUENCIAS DE LA BASE | ||
| - | ``` postgres=# \d ``` | + | ``` |
| + | postgres=# \d | ||
| + | ``` | ||
| CAMBIAR DUEÑO DE UNA TABLA | CAMBIAR DUEÑO DE UNA TABLA | ||
| + | |||
| tabla " | tabla " | ||
| - | ``` mydb=# | + | ``` |
| + | mydb=# | ||
| + | ``` | ||
| Línea 109: | Línea 150: | ||
| LISTAR USUARIOS | LISTAR USUARIOS | ||
| - | ``` mydb=# SELECT * FROM " | + | ``` |
| - | ``` postgres=# \z ``` | + | mydb=# SELECT * FROM " |
| + | postgres=# \z | ||
| + | ``` | ||
| LISTAR PERMISOS | LISTAR PERMISOS | ||
| + | |||
| Permisos de todos los usuarios y bases | Permisos de todos los usuarios y bases | ||
| - | ``` postgres=# select datname as " | + | ``` |
| + | postgres=# select datname as " | ||
| + | ``` | ||
| QUIEN TIENE PERMISOS EN TABLA | QUIEN TIENE PERMISOS EN TABLA | ||
| + | |||
| Quien tiene permisos en la tabla mitabla de la base dbprueba | Quien tiene permisos en la tabla mitabla de la base dbprueba | ||
| - | ``` dbprueba=# \z mitabla ``` | + | ``` |
| + | dbprueba=# \z mitabla | ||
| + | ``` | ||
| Permisos de los usuarios en la base ' | Permisos de los usuarios en la base ' | ||
| - | ``` postgres=# select datname as " | + | ``` |
| - | ``` prueba=# \dp ``` | + | postgres=# select datname as " |
| + | prueba=# \dp | ||
| + | ``` | ||
| CREAR USUARIO | CREAR USUARIO | ||
| + | |||
| usuario con permisos de superuser | usuario con permisos de superuser | ||
| - | ``` $ createuser -drs usuario ``` | + | ``` |
| + | $ createuser -drs usuario | ||
| + | ``` | ||
| BORRAR USUARIO | BORRAR USUARIO | ||
| + | |||
| usuario " | usuario " | ||
| - | ``` $ dropuser admin ``` | + | ``` |
| + | $ dropuser admin | ||
| + | ``` | ||
| ASIGNAR ROL A USUARIO | ASIGNAR ROL A USUARIO | ||
| + | |||
| asignar rol " | asignar rol " | ||
| - | ``` mydb=# GRANT user to lectura; ``` | + | ``` |
| + | mydb=# GRANT user to lectura; | ||
| + | ``` | ||
| LISTAR ROLES | LISTAR ROLES | ||
| + | |||
| listar roles y usuarios asignados a cada uno | listar roles y usuarios asignados a cada uno | ||
| - | ``` prueba=# \du ``` | + | ``` |
| + | prueba=# \du | ||
| + | ``` | ||
| QUITAR LOGIN | QUITAR LOGIN | ||
| - | ``` mydb=# ALTER ROLE ooliquidacion_w WITH NOLOGIN; ``` | + | ``` |
| + | mydb=# ALTER ROLE ooliquidacion_w WITH NOLOGIN; | ||
| + | ``` | ||
| LIMITAR CANTIDAD DE CONEXIONES | LIMITAR CANTIDAD DE CONEXIONES | ||
| - | ``` mydb=# ALTER ROLE usuario WITH CONNECTION LIMIT 1; ``` | + | ``` |
| + | mydb=# ALTER ROLE usuario WITH CONNECTION LIMIT 1; | ||
| + | ``` | ||
| ASIGNAR PERMISOS | ASIGNAR PERMISOS | ||
| + | |||
| todos los permisos a " | todos los permisos a " | ||
| - | ``` dbase=# GRANT ALL ON DATABASE dbase TO user; ``` | + | ``` |
| + | dbase=# GRANT ALL ON DATABASE dbase TO user; | ||
| + | ``` | ||
| REVOCAR PERMISOS | REVOCAR PERMISOS | ||
| + | |||
| todos los permisos a " | todos los permisos a " | ||
| - | ``` dbase=# REVOKE ALL ON ALL TABLES IN SCHEMA public FROM user; ``` | + | ``` |
| + | dbase=# REVOKE ALL ON ALL TABLES IN SCHEMA public FROM user; | ||
| + | ``` | ||
| select a " | select a " | ||
| - | ``` dbase=# GRANT select ON ALL TABLES IN SCHEMA public to user; ``` | + | ``` |
| + | dbase=# GRANT select ON ALL TABLES IN SCHEMA public to user; | ||
| + | ``` | ||
| TIEMPO MAXIMO DE QUERY POR USUARIO | TIEMPO MAXIMO DE QUERY POR USUARIO | ||
| + | |||
| no permite consultas mayores a 10 segundos para el usuario | no permite consultas mayores a 10 segundos para el usuario | ||
| - | ``` mydb=# ALTER ROLE usuario SET statement_timeout=10000; | + | ``` |
| + | mydb=# ALTER ROLE usuario SET statement_timeout=10000; | ||
| + | ``` | ||
| CAMBIAR CLAVE | CAMBIAR CLAVE | ||
| - | ``` mydb=# UPDATE pg_shadow SET passwd = ' | + | ``` |
| + | mydb=# UPDATE pg_shadow SET passwd = ' | ||
| + | ``` | ||
| LISTADO DE PERMISOS | LISTADO DE PERMISOS | ||
| Línea 179: | Línea 259: | ||
| VER PROCESOS CORRIENDO | VER PROCESOS CORRIENDO | ||
| - | ``` mydb=# select * from pg_stat_activity; | + | ``` |
| + | mydb=# select * from pg_stat_activity; | ||
| + | ``` | ||
| MATAR PROCESO | MATAR PROCESO | ||
| + | |||
| matar una query que esta corriendo | matar una query que esta corriendo | ||
| - | ``` mydb=# SELECT pg_cancel_backend(procpid); | + | ``` |
| + | mydb=# SELECT pg_cancel_backend(procpid); | ||
| + | ``` | ||
| en caso que no responda se puede matar desde el propio linux (sin usar -9) | en caso que no responda se puede matar desde el propio linux (sin usar -9) | ||
| - | ``` $ kill procpid ``` | + | ``` |
| + | $ kill procpid | ||
| + | ``` | ||
| + | |||
| + | |||
| + | VER USUARIOS CONECTADOS A UNA BASE labase | ||
| + | ``` | ||
| + | mydb=# SELECT usename, | ||
| + | ``` | ||
| Línea 191: | Línea 284: | ||
| EXPORTAR TODAS LAS BASES | EXPORTAR TODAS LAS BASES | ||
| - | ``` $ pg_dumpall > | + | ``` |
| + | $ pg_dumpall > | ||
| + | ``` | ||
| EXPORTAR BASE | EXPORTAR BASE | ||
| + | |||
| base " | base " | ||
| - | ``` $ pg_dump test > | + | ``` |
| + | $ pg_dump test > | ||
| + | ``` | ||
| dump de base " | dump de base " | ||
| - | ``` $ pg_dump -Fc prueba > prueba.dump ``` | + | ``` |
| + | $ pg_dump -Fc prueba > prueba.dump | ||
| + | ``` | ||
| IMPORTAR BASE | IMPORTAR BASE | ||
| + | |||
| importar a base " | importar a base " | ||
| - | ``` $ pg_restore --clean --role=postgres --dbname=prueba --no-owner prueba.dump ``` | + | ``` |
| + | $ pg_restore --clean --role=postgres --dbname=prueba --no-owner prueba.dump | ||
| + | ``` | ||
| + | |||
| + | ## Actualizar datos con unl desde pc sin acceso al filesystem | ||
| + | |||
| + | Procedimiento para actualizar datos tomándolos desde un archivo csv|unl ubicado en una pc cliente del servidor. La limitación es que el comando `copy` sólo levanta archivos del filesystem local del servidor. | ||
| + | ``` | ||
| + | cat / | ||
| + | objeto_id | ||
| + | tipo_objeto | ||
| + | objeto | ||
| + | acta_id | ||
| + | t_acta | ||
| + | nro_acta | ||
| + | serie character varying(2), | ||
| + | fecha_acta | ||
| + | lugar_acta_id | ||
| + | ref_geografica | ||
| + | cant_encontradas | ||
| + | cod_calle | ||
| + | nom_calle | ||
| + | cod_intersec | ||
| + | nom_intersec | ||
| + | altura | ||
| + | letra_a | ||
| + | bis_a boolean, | ||
| + | sec integer, | ||
| + | mnz integer, | ||
| + | gra integer, | ||
| + | div integer, | ||
| + | sdiv | ||
| + | carpeta | ||
| + | catastral | ||
| + | copy from stdin;" | ||
| + | |||
| + | copy tmp_datos_domicilio from stdin delimiter ','; | ||
| + | ``` | ||
| ## Replicación | ## Replicación | ||
| PROCESOS CORRIENDO | PROCESOS CORRIENDO | ||
| + | |||
| en el master | en el master | ||
| - | ``` $ ps -ef | grep sender ``` | + | ``` |
| + | $ ps -ef | grep sender | ||
| + | ``` | ||
| en el esclavo | en el esclavo | ||
| - | ``` $ ps -ef | grep receiver ``` | + | ``` |
| + | $ ps -ef | grep receiver | ||
| + | ``` | ||
| ESTADO DE LA REPLICA | ESTADO DE LA REPLICA | ||
| - | ``` $ pg_lsclusters ``` | + | ``` |
| + | $ pg_lsclusters | ||
| + | ``` | ||
| VER ESCLAVOS CONECTADOS AL MASTER | VER ESCLAVOS CONECTADOS AL MASTER | ||
| + | |||
| en el master | en el master | ||
| - | ``` $ psql -c " | + | ``` |
| + | $ psql -c " | ||
| + | ``` | ||
| VER RETRASO EN EL ESCLAVO | VER RETRASO EN EL ESCLAVO | ||
| + | |||
| en el esclavo | en el esclavo | ||
| - | ``` postgres=# select now() - pg_last_xact_replay_timestamp() AS replication_delay; | + | ``` |
| + | postgres=# select now() - pg_last_xact_replay_timestamp() AS replication_delay; | ||
| + | ``` | ||
| | | ||
db/postgresql.1596548989.txt.gz · Última modificación: 2020/08/04 13:49 por grillo