pricing postgres example delete database postgresql heroku permissions

database - example - heroku postgres pricing



PGError: ERROR: permiso denegado por relación(cuando se usa Heroku) (6)

ACTUALIZACIÓN: la respuesta de Ashton lo clava en esta situación, que es muy específica de Heroku. Si ha encontrado esto en una búsqueda de mensajes de error o problemas de PostgreSQL, pero no está utilizando Heroku, busque otras preguntas con más probabilidades de aplicar a su situación.

Supongo que la identificación de usuario de PostgreSQL con la que se está conectando no es el propietario de sus tablas, y no ha emitido ninguna declaración GRANT explícita para darle acceso. Sin ver exactamente lo que ejecutó cuando migró es difícil decir más, y Heroku oculta muchos de los internos de todos modos.

Veamos cuál es la situación actual. Intente conectarse con psql y ejecutar:

/dp the_problem_table

y muestre los permisos reportados. Mostrar también el resultado de:

SHOW current_user;

ejecutar desde psql y cuando se ejecuta como una consulta SQL desde el interior de su aplicación.

Edite su pregunta para agregar esa información y el texto completo y exacto del mensaje de error que recibe .

Recientemente realicé el proceso de migración de la base de datos como se describe aquí:

https://devcenter.heroku.com/articles/migrating-from-shared-database-to-heroku-postgres

Ahora veo una serie de errores en los registros como este:

PGError: ERROR: permiso denegado para la relación

¿Alguna idea sobre lo que debería hacer para solucionarlo?


Después de eliminar las filas adicionales, no recibirá de inmediato los privilegios de inserción. En ese caso, elimine las filas adicionales y simplemente ejecute heroku pg:info después de eso. Esto actualizará los privilegios de su base de datos y obtendrá el acceso en pocos minutos. No es necesario clonar el DB existente en uno nuevo y establecer el nuevo como el DB de su aplicación.

$ heroku pg:info === HEROKU_POSTGRESQL_BRONZE_URL, DATABASE_URL Plan: Hobby-dev Status: Available Connections: 3/20 PG Version: 9.3.6 Created: 2014-03-01 13:47 UTC Data Size: 1.25 GB Tables: 4 Rows: 2098/10000 (Write access revoked) - refreshing Fork/Follow: Unsupported Rollback: Unsupported Add-on: grinning-busily-5587


Estaba en una situación en la que excedía el límite de recuento de filas.

Esta respuesta explica cómo enumerar el número de filas en cada tabla: http://.com/questions/12701711/heroku-row-count-incorrect

Muy valioso para saber

Puede acceder a la consola psql a través de la terminal, ¡la configuración de conexión aparece en el panel de control heroku de su aplicación!


Pasos basados ​​en la respuesta de Ashton para actualizar de Dev (límite de 10k filas) a Basic (límite de 10M filas)

comprobar que las filas de db superaron el límite

heroku pg:info

deshabilitar la aplicación y los trabajadores para asegurarse de que no haya cambios de db durante la actualización de db

heroku maintenance:on heroku ps:scale worker=0

si no tienes pgbackups

heroku addons:add pgbackups

copia de seguridad de la base de datos y obtener la id

heroku pgbackups:capture

agregar db con interfaz web

  1. inicie sesión en https://addons.heroku.com
  2. buscar "Heroku Postgres"
  3. seleccione el plan y la aplicación
  4. agregarlo

ver configuración heroku, debería ver nueva URL db

heroku config --remote heroku

restaurar la copia de seguridad a la nueva base de datos

heroku pgbackups:restore NEW_DB_URL BACKUP_ID

cambiar DATABASE_URL

heroku pg:promote NEW_DB_URL

habilitar la aplicación y los trabajadores

heroku maintenance:off heroku ps:scale worker=1


Tuve un problema similar en mi aplicación Redmine:

PG::InsufficientPrivilege: ERROR: permission denied for relation settings : SELECT "settings".* FROM "settings" WHERE "settings"."name" = ''plugin_redmine_wktime'' LIMIT 1

Mis pasos fueron:

  1. Hice una copia de seguridad de la antigua aplicación y base de datos de Redmine.
  2. Implementé una nueva versión de Redmine: funcionó perfectamente
  3. Restauré el antiguo Redmine como servidor de desarrollo y recibí un error cuando intenté acceder a la página web principal.

La causa de mi problema era simplemente un nombre de usuario incorrecto en la configuración / base de datos de Redmine antigua.


Tuve un problema similar, pero la causa principal fue que mi aplicación apuntaba a la antigua base de datos de desarrollo que había excedido su límite de 10.000 filas.

Aunque creé una nueva base de datos básica y realicé una copia de seguridad de todo, la aplicación todavía apuntaba al antiguo DB de desarrollo.

heroku pg: información

Compruebe para ver las filas: 10300/10000 (entonces usted tiene un problema)

Necesitaras

1) Crear una base de datos nueva con más filas (básica o de "Producción" -> Heroku parece forzar una actualización para hacer más dinero errrrrr)

2) haga una copia de seguridad de la base de datos anterior usando pgbackups: heroku pgbackups:capture SMALL_DB_NAME

3) restaurar la copia de seguridad a la nueva base de datos: heroku pgbackups:restore BIG_DB_NAME BACKUP_ID (ver enlaces a continuación para más detalles)

4) PROMOCIONE la nueva base de datos a la primaria para la aplicación: heroku pg:promote BIG_DB_NAME

siempre puede utilizar:

mantenimiento de heroku: activado (para desactivar la aplicación durante la actualización)


mantenimiento heroku: apagado


heroku pg: info (para verificar el estado)

Si este es el problema, puede consultar: https://devcenter.heroku.com/articles/heroku-postgres-starter-tier https://devcenter.heroku.com/articles/migrating-from-shared-database-to-heroku-postgres