Tengo una base de datos con una versión antigua descompuesta de PostGIS instalada en ella. Me gustaría colocar fácilmente todas las funciones en la base de datos (son todas de PostGIS). ¿Hay una manera simple de hacer esto? Incluso la simple extracción de una lista de nombres de funciones sería aceptable, ya que podría hacer una gran declaración DROP FUNCTION
.Soltar todas las funciones de la base de datos de Postgres
18
A
Respuesta
25
Un fine answer to this question can be found here:
SELECT 'DROP FUNCTION ' || ns.nspname || '.' || proname
|| '(' || oidvectortypes(proargtypes) || ');'
FROM pg_proc INNER JOIN pg_namespace ns ON (pg_proc.pronamespace = ns.oid)
WHERE ns.nspname = 'my_messed_up_schema' order by proname;
3
Así como hubo un postgis.sql
enabler install script, también hay un script uninstall_postgis.sql
desinstalación.
psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql
Advertencia: ¡Prepárese para ver desaparecer las columnas y los datos de geometría/geografía!
Cuestiones relacionadas
- 1. ¿Cómo colocar todas las tablas en la base de datos sin soltar la base de datos?
- 2. MongoDB soltar todas las bases de datos
- 3. Soltar todas las bases de datos del servidor
- 4. ¿Cómo borrar todas las bases de datos en Postgres?
- 5. Copiar base de datos en postgres
- 6. Lista de todas las tablas en la base de datos
- 7. Convertir la base de datos de Postgres en una base de datos espacial
- 8. Renombrar todas las tablas en la base de datos
- 9. Obtenga una lista de todas las funciones y procedimientos en una base de datos Oracle
- 10. Obtener la codificación de una base de datos de Postgres
- 11. ¿Cómo puedo eliminar el contenido de todas las tablas de mi base de datos en phpMyAdmin sin soltar la base de datos?
- 12. Node.js postgres + gestión de transacciones de base de datos
- 13. Obtenga todas las tablas y todas las columnas de una base de datos odbc
- 14. cómo soltar la base de datos en sqlite?
- 15. ¿Cómo soltar la base de datos incrustada neo4j con java?
- 16. Eliminar todas las filas de la tabla de la base de datos SQLite
- 17. mangento en la base de datos postgres u oracle?
- 18. Base de datos por aplicación VS Una gran base de datos para todas las aplicaciones
- 19. ¿Cómo se depuran las funciones con postgres?
- 20. ¿Debo declarar todas las funciones virtuales en una clase base?
- 21. Base de datos de creación de usuarios de Postgres
- 22. Listar todas las tablas en una base de datos
- 23. ¿Desea soltar TODOS los desencadenadores de Postgres DB?
- 24. Postgres Creación esquema de una base de datos específica
- 25. Migrar base de datos de Postgres a MySQL
- 26. Postgres: clara base de datos completa antes de volver a crear/repoblar de escritura del golpe
- 27. Copie una base de datos postgres sin permisos LOCK
- 28. ¿Cómo puedo migrar mi base de datos con raíles a la primera revisión sin soltar primero la base de datos?
- 29. El propietario de la base de datos postgresql no puede acceder a la base de datos: "No se encontraron relaciones".
- 30. Cambiar la precisión de todas las columnas decimales en cada tabla en la base de datos
A menudo, se aplica 'ms.nspname = 'public''. – Drux
El SQL anterior fallará en nombres de función/esquema alfanuméricos no en minúsculas o no. Mejor uso quote_ident o formato ('DROP FUNCTION% I.% I (% s);', nspname, proname, oidvectortypes (proargtypes)) para obtener los identificadores de SQL cotizados correctamente. –