Publicado el Dejar un comentario

Postgresql 15: permission denied for schema public

Un cliente desarrolla aplicaciones web con Django y al hacer el deploy de su aplicación y crear las tablas en la base de datos Postgresql versión 15 (migrations) le lanzaba el siguiente error:

“… (permission denied for schema public LINE 1: CREATE TABLE ….”

Al usuario de conexión a la base de datos se le habían asignado todos los permisos o privilegios sobre la base de datos que regularmente el cliente asignaba en anteriores instalaciones con éxito donde la instalación había funcionado sin problemas.

La diferencia con las instalaciones anteriores era la versión del Postgresql, lo había hecho en versiones 14 o anteriores de este motor de base de datos. Revisando la documentación de la versión 15 se encontró que el permiso de creación en al esquema PUBLIC ya no es público por lo que hay que darle el permiso explícito al usuario. Sólo el propietario de la base de datos tiene por defecto el permiso de creación en el esquema PUBLIC. El cliente había creado la base de datos con el usuario administrador postgres, por lo tanto el propietario por defecto era el usuario postgres. Una solución para corregir este error es hacer, al usuario de conexión, el propietario de la base de datos ejecutando el siguiente comando SQL:

ALTER DATABASE <nombre-base-de-datos> OWNER TO <usuario>;

Una vez ejecutado el comando, la aplicación se instaló sin problemas.

¡Hasta pronto!

Publicado el 3 comentarios

SQL: Obtener último(s) caracteres de un campo texto.

Hola, en nuestro quehacer diario con bases de datos relacionales nos topamos a veces con que hay que extraer el o los últimos caracteres de un campo de tipo texto o string de una tabla. Según la base de datos usada la instrucción puede variar.

Enseguida veremos algunos ejemplos, en las distintas bases de datos, donde extraeremos los útimos 2 caracteres del texto constante “texto ejemplo”:

SQLite:

SELECT SUBSTR(‘texto ejemplo’, -2);

Postgresql:

SELECT SUBSTRING(‘texto ejemplo’ from ‘.{2}$’);

SELECT RIGHT(‘texto ejemplo’,2);

MySQL o MariaDB:

SELECT SUBSTRING(‘texto ejemplo’,-2);

SELECT RIGHT(‘texto ejemplo’,2);

SQL Server:

SELECT RIGHT(‘texto ejemplo’, 2);

ORACLE:

SELECT SUBSTR(‘texto ejemplo’, -2) FROM dual;

Todas las sentencias sql descritas anteriormente ejecutadas en la respectiva base de datos regresarán la cadena de caractares ‘lo’.

Dependiendo del número de caracteres a la derecha que queramos obtener sólo tendremos que cambiar el número dos por el número de caracteres deseado en cada una de las sentencias anteriores.

Espero y les séa de utilidad este artículo. Agradezco sus comentarios. ¡Saludos!

Publicado el Dejar un comentario

Curso online “Introducción a los SIG con QGIS” edición 2020/2021

Hola a todos. ¿Has oído hablas de lo Sistemas de Información Geográfica (SIG)? ¿No? ¿Te gustaría saber lo que es? En este curso aprenderás que son los SIG utilizando el software de código abierto QGIS.

Inscríbete en uno de los mejores cursos online sobre QGIS. ¿Por qué?

  • Por el amplio temario compuesto por 11 módulos, 400 pág. de apuntes de calidad, más de 100 prácticas a realizar por los estudiantes
  • Porque tiene una duración de 60 horas (6 créditos). Duración de trabajo real que garantiza un correcto aprendizaje
  • Porque ha sido preparado y lo imparte profesorado de Universidad experto en PostGIS responsable de las asignaturas de SIG e Infraestructuras de datos espaciales (Grado de Ingeniería Geomáticay Máster de Ingeniería Geomática y Geoinformación) del la ETSIGCT de la UPV.
  • Porque no solo aprenderás a menajar QGIS desde cero, sino los conceptos básicos de SIG y Cartografía
  • Porque obtienes un certificado oficial de aprovechamiento de la Universidad Politécnica de Valencia
  • El curso está avalado por la Univ. Politécnica de Valencia (UPV) y el departamento de Ingeniería Cartográfica. Departamento que imparte toda la docencia de SIG en la Escuela de Ingeniería de Geomática más grande de España
  • Porque puedes distribuir la carga de trabajo como te sea más conveniente a lo largo de los tres meses de duración del curso.

Más información e inscripciones en CartoSIG y el sitio de cursos de la Universidad Politécnica de Valencia, España.

¡Los esperamos!