with postgres example conectar con postgresql jpa jdbc

example - spring postgresql 10



Mover una base de datos con pg_dump y psql-U postgres db_name<... da como resultado “ERROR: relationship” table_name “no existe” (3)

Moví mi base de datos PostgresQL de un disco duro a otro usando

pg_dump -U postgres db_name > db_name.dump

y entonces

psql -U postgres db_name < db_name.dump

Creé la base de datos db_name de la misma manera en ambos casos. En la nueva base de datos cuando ejecuto mi programa Java con una consulta JPA (o una consulta JDBC) recibo este error:

"ERROR: relation "table1" does not exist"

La consulta es:

select count(0) from table1

Sé que tengo una conexión porque si cambio la contraseña en los parámetros de conexión obtengo un error.

Por alguna razón, en la nueva instancia de PostgresQL, cree que la tabla1 no existe en el esquema importado.

Si cambio la consulta a

seleccione cuenta (0) de myschema.table1

Entonces se queja de los permisos:

"ERROR: permission denied for schema myschema"

¿Por qué los permisos serían diferentes?

La tabla table1 existe en myschema porque puedo verla en la herramienta pgAdmin. Todas las filas fueron importadas en la nueva instancia de PostgresQL.

Cuando hago una consulta desde Java, la combinación de pg_dump y psql creó un problema.

¿Qué necesito hacer para resolver este problema?

Gracias por adelantado.


¿Te estás moviendo a la misma versión de PostgreSQL? Puede haber problemas si realiza un volcado con pg_dump 8.3 y trata de restaurarlo en Postgresql 8.4. De todos modos, asumiendo que es la misma versión intente lo siguiente:

Volcar todos los objetos globales, como usuarios y grupos (no sé si faltaban en su volcado):

pg_dumpall -g -U postgres > globals.sql

Volcado del esquema de la base de datos:

pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname

Volcar contenidos de la base de datos:

pg_dump -Fc -v -f full.dump -U postgres dbname

Ahora restaurar.

psql -f globals.sql psql -f db-schema.sql dbname pg_restore -a -d dbname -Fc full.dump

Ese es mi $ 0.02. Espero eso ayude.


Me encontré con este problema. Entonces me di cuenta de que me olvidé de instalar la extensión postgis .

No olvides instalar las extensiones que utilizas.


Pude resolverlo cambiando los privilegios de la base de datos a CONNECT público y los privilegios de esquema para public y postgres = USAGE y CREATE.

Al parecer, mis scripts de copia de seguridad no conservaban los privilegios, al menos no al pasar de 8.3 a 8.4.