0
votes

Obtention d'une erreur lors de la connexion à la base de données externe redshift dans les rails

Obtention de cette erreur:

PG :: InsufficientPrivilege: ERROR: permission refusée pour définir le paramètre "client_min_messages" à "warning": SET client_min_messages TO 'avertissement' lors de la connexion à la base de données redshift.

entrez la description de l'image ici

Le paramètre de mon fichier database.yml ressemble à ceci

development:
  adapter: postgresql
  encoding: utf8
  host: nacfhrcluster123.ctvpledrvuobs5.us-east-1.redshift.amazonaws.com
  port: 5439
  username: nacfhr123
  password: NACFDChr12345!
  database: devnacfhrdc
  pool: 5
  schema_search_path: 'beta'
  timeout: 5000 
  min_messages: warning


4 commentaires

Vérifiez les autorisations de votre utilisateur PG.


vous voudrez peut-être modifier votre question pour supprimer votre mot de passe - à moins qu'il ne soit factice mais qu'il ne lui ressemble pas


@JonScott Je suppose que c'est un peu trop tard pour cela, alors OP doit probablement changer son mot de passe.


Oui d'accord, vous devez vous attendre à ce que l'utilisateur / mot de passe soit largement disponible même après sa suppression. j'espère que c'était juste un faux.


3 Réponses :


0
votes

Il est important de réaliser que Redshift N'EST PAS Postgres. Il existe de nombreuses différences.

Une différence est que les paramètres disponibles sont très différents, les seuls paramètres qui peuvent être définis sur Redshift sont:

analyze_threshold_percent
datestyle
extra_float_digits
query_group
search_path
statement_timeout
wlm_query_slot_count

Vous devrez modifier votre connexion de rails pour que cela ne demande pas que ce paramètre soit défini.

Je suppose que cela signifie supprimer min_messages: warning


1 commentaires

Essayé en supprimant également le paramètre min_messages, mais cela ne fonctionne pas



0
votes

J'espère que cela vous aidera. Pour autant que je sache, il n'y a pas d'enregistrements actifs disponibles pour Redshift et cela n'a pas de sens et Redshift n'est pas un code SGBDR . Nous avons un scénario similaire dans lequel nous utilisons ROR pour le front-end pour l'une des applications d'analyse et de planification.

Voici notre scénario d'application:

Front-end: ROR Base de données: mysql (OLTP) Entrepôt de données: Redshift (OLAP)

Voici comment les données circulent entre ROR et Redshift.

  • Insertion / mise à jour de ROR vers Redshift (cela se produit très rarement). Pour toutes les opérations de ROR qui ont un impact sur l'entrepôt de données, ROR exécute des commandes PSQL avec une requête spécifique, et non via des enregistrements actifs.
  • SELECT depuis Redshift (se produit fréquemment) De même, pour obtenir des données de DW pour diverses raisons via une requête de sélection et une redirection vers un fichier à l'aide de la commande PSQL , importez-les dans OLTP en utilisant myssqlimport .

Lien vers psql , mysqlimport outils que nous utilisons. Commentez si vous avez d'autres questions de suivi spécifiques.


0 commentaires

1
votes

Merci les gars pour vos réponses. J'ai résolu le problème en ajoutant un gem avec le nom «activerecord5-redshift-adapter» dans mon gemfile. Vous devez donc ajouter la ligne ci-dessous dans votre fichier gem.

gem 'activerecord5-redshift-adapter'

Ensuite, exécutez à nouveau l'installation groupée.


0 commentaires