Objetos
Explora y gestiona vistas, vistas materializadas, funciones, triggers, tipos, secuencias y los ajustes del servidor. Edición Studio.
Abrirlos#
En la edición Studio, pasa a Avanzado y elige Objetos en la barra lateral. Tipo de objeto cambia entre Vistas, Funciones, Triggers, Tipos, Secuencias y Ajustes. Esquema limita la lista a un esquema (o Todos los esquemas) y Filtrar por nombre la acota. El tipo queda en la dirección, como /advanced/objects?view=functions.
Cada cambio enseña su SQL y espera tu confirmación, como cuenta Cada cambio enseña su SQL. Para eliminar hay que escribir el nombre del objeto. En modo solo lectura todo se ve y nada se cambia.
Vistas#
La lista tiene vistas y vistas materializadas, con su dueño. Una vista materializada que nunca se ha refrescado lleva sin datos. Elige una para ver su Definición.
- Nueva vista pide el esquema, el nombre, si es Materializada y la Consulta. La consulta tiene que ser una sola sentencia
SELECT,WITH,VALUESoTABLE. - Editar una vista ejecuta
CREATE OR REPLACE VIEW: las columnas siguen siendo las mismas y las nuevas van al final. Si otros objetos usan la vista, te avisa: sustituirla los mantiene, pero falla si se quita, renombra o cambia de tipo una columna. - Editar una vista materializada la elimina y la vuelve a crear con la consulta nueva, en una transacción. Sus datos se calculan de nuevo y se pierden sus índices y permisos; la vista previa lo avisa.
- Refrescar una vista materializada vuelve a calcular sus datos. La opción Concurrentemente no bloquea a los lectores y va fuera de una transacción. Necesita un índice único sobre columnas simples de la vista materializada, y que ya tenga datos.
- Eliminar lista los objetos que dependen de la vista. Si hay alguno, marca Eliminarlos también (CASCADE) para eliminarlos con ella.
Funciones#
Funciones y procedimientos, con su firma, tipo de resultado, lenguaje, volatilidad (inmutable, estable, volátil) y si son SECURITY DEFINER.
- Código enseña la definición completa.
- Editar en el editor SQL abre una pestaña nueva del editor SQL con su
CREATE OR REPLACElisto para cambiarlo y ejecutarlo. - Eliminar lista lo que depende de ella, como en las vistas.
Triggers#
Los triggers de usuario, con su tabla, su estado (activado o desactivado) y su definición. No salen los triggers internos que usa PostgreSQL para las claves foráneas.
Desactivar y Activar cambian un trigger con ALTER TABLE … DISABLE TRIGGER y ENABLE TRIGGER. Al desactivar te avisa: mientras está desactivado no se dispara, así que lo que mantiene al día (filas de auditoría, totales, fechas) deja de cambiar.
Tipos#
Enums, dominios (con su tipo base), tipos compuestos y rangos, cada uno con las columnas que lo usan, también como array.
En un enum:
- Añadir valor añade un Valor nuevo en una Posición: Al final, o antes o después de un valor que ya existe.
- Haz clic en un valor para renombrarlo.
PostgreSQL no permite quitar un valor de un enum, así que Gresbase no lo ofrece.
Secuencias#
Cada secuencia con su tipo, incremento, límites, CYCLE, dueño, la columna a la que pertenece (en columnas serial e identity) y su valor actual. El valor sale como «—» antes del primer nextval o si tu rol no puede leer la secuencia.
Reiniciar ejecuta ALTER SEQUENCE … RESTART: en su valor inicial o en el valor que escribas. La confirmación avisa de que una secuencia reiniciada demasiado abajo puede repartir números ya usados, y entonces los inserts pueden fallar por claves únicas.
Ajustes#
Los ajustes del servidor de pg_settings, con valor y unidad, descripción, Origen (de dónde sale el valor) y Se aplica (cuándo tiene efecto un cambio). Se busca por nombre, descripción o categoría. Los que necesitan reinicio llevan requiere reinicio, y los cambiados que aún lo esperan, reinicio pendiente.
Esta vista es de solo lectura. Los ajustes se cambian en postgresql.conf, con ALTER SYSTEM o con -c en el comando del servidor.
Permisos#
| Acción | Necesita |
|---|---|
| Verlo todo | Cualquier rol. Las definiciones y el código siguen lo que PostgreSQL deja leer al rol. |
| Crear una vista | CREATE en el esquema y SELECT sobre lo que lee la consulta. |
| Editar, refrescar o eliminar una vista, eliminar una función, cambiar un enum | Ser dueño del objeto. |
| Activar o desactivar un trigger | Ser dueño de la tabla. |
| Reiniciar una secuencia | Ser su dueño. |
Mira también Seguridad y red.