Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Réplication » dblink : copier les nouvelles entrées d'une table vers une autre base » 05/04/2019 14:22:52
D'accord,
Merci pour vos éclaircissements,
comme vous pouvez le constater je suis pas encore très à l'aise avec Postgres au delà d'une utilisation "basique",
bon week-end merci pour le coup de pouce
#2 Re : Réplication » dblink : copier les nouvelles entrées d'une table vers une autre base » 03/04/2019 23:08:35
t'es un génie omg
#3 Réplication » dblink : copier les nouvelles entrées d'une table vers une autre base » 03/04/2019 22:23:43
- Anthony_Bayonne
- Réponses : 5
Bonjour / Bonsoir,
je suis confronté à un problème "simple" en apparence mais qui me cause beaucoup de soucis, peut être pourriez-vous m'aider.
La base de données que j'utilise est surchargée. L'idée, c'est d'utiliser 2 bases : une qui supporte les requêtes, et une autre uniquement pour l'affichage. Toutes les heures, la base de requêtes met à jour ses données vers la base d'affichage.
Illustration :
test_dblink_reception
id | title
1 | Hi, I'm first here :)
test_dblink_emission
id | title
1 | Hi, I'm a data !
2 | hehe I'm second row !
3 | Wait me, I'm 3 !
4 | Hi friends, I'm 4
Ce que j'aimerais réussir à faire :
test_dblink_reception
id | title
1 | Hi, I'm first here :)
2 | hehe I'm second row !
3 | Wait me, I'm 3 !
4 | Hi friends, I'm 4
En bonus : supprimer les entrées transférées de la table d'origine, c'est possible en une seule requête ?
test_dblink_emission
id | title
1 | Hi, I'm a data !
Voilà la requête qui résume ou j'en suis :
SELECT
test_dblink_reception.id,
requete.id,
requete.title
FROM
test_dblink_reception,
dblink('host=myhost user=user password=password dbname=database2', 'SELECT id, title FROM test_dblink_emission') AS requete (id int,
title text)
GROUP BY
test_dblink_reception.id,
requete.id,
requete.title
HAVING
max(test_dblink_reception.id) < requete.id
Retour :
id | id | title
1 | 2 | hehe I'm second row !
1 | 3 | Wait me, I'm 3 !
1 | 4 | Hi friends, I'm 4
Le problème, c'est la première colonne, "id", que je ne souhaite pas insérer dans ma requête INSERT INTO, mais Postgres m'impose de la mettre dans le GROUP BY.
Est-ce que selon-vous c'est la meilleure façon de procéder ? Comment faire pour obtenir ce résultat sans le test_dblink_reception.id dans le GROUP BY ?
En vous remerciant,
Anthony
Pages : 1