Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporter PostgreSQL #416

Closed
ghost opened this issue Feb 10, 2014 · 54 comments
Closed

Supporter PostgreSQL #416

ghost opened this issue Feb 10, 2014 · 54 comments
Labels
Milestone

Comments

@ghost
Copy link

ghost commented Feb 10, 2014

Certains ont PostgreSQL et non MySQL d'installé sur leur serveur/hébergement. Postgre en plus de MySQL et sqlite, et le monde entier sera ravi 👍

@marienfressinaud
Copy link
Member

Effectivement, il n'y a pas de raison de ne pas gérer PostgreSQL :)

@marienfressinaud marienfressinaud added this to the 0.8.0 milestone Feb 10, 2014
@Alkarex Alkarex modified the milestones: 0.9.0, 0.8.0 Mar 9, 2014
@aledeg
Copy link
Member

aledeg commented Jun 6, 2014

Est ce que quelqu'un a commencé à travailler dessus?

@marienfressinaud
Copy link
Member

Vu comment c'est galère de gérer SQLite en plus de MySQL, je n'ai pas eu le courage de regarder. Mais on peut espérer qu'il soit plus facile de gérer Postgre

@aledeg
Copy link
Member

aledeg commented Jun 6, 2014

Quels sont les problèmes avec SQLite?

@marienfressinaud
Copy link
Member

Pleins de requêtes qui ne sont pas compatibles (si ce n'est toutes).

@aledeg
Copy link
Member

aledeg commented Jun 6, 2014

ok, je pense dans ce cas que postgres sera plus facile. Dans mes souvenirs, la syntaxe est très proche de celle de MySql.
Si on commence à supporter plusieurs base de données, il serait peut être judicieux d'utiliser un ORM comme Doctrine pour nous éviter tous les problèmes de compatibilité des requêtes.

@aledeg
Copy link
Member

aledeg commented Jun 6, 2014

Propel supporte nativement MySQL, PostgreSQL, SQLite, MSSQL et Oracle. =>http://propelorm.org/
Doctrine supporte nativement MySQL, PostgreSQL, SQLite, MSSQL, Sybase et Oracle => http://doctrine-dbal.readthedocs.org/en/latest/reference/configuration.html#connection-details

@Alkarex
Copy link
Member

Alkarex commented Jul 5, 2014

Qui serait intéressé d'utiliser PostgreSQL ?
Je pense que suite au travail pour SQLite, le support basique de PostgreSQL devrait être assez facile.
Il faudrait par contre un peu plus de travail pour ensuite optimiser les performances, ajouter l'indexation du texte, etc.
Mais est-ce qu'il y a de la demande et des volontaires pour utiliser / tester / optimiser ?

@Alkarex Alkarex removed the Important label Jul 5, 2014
@marienfressinaud
Copy link
Member

@Alkarex > j'ai eu des questions d'une personne de Framasoft à propos de FRSS et qui a donc des problématiques de performances. Je pense que dans tous les cas ce serait intéressant de gérer Postgre.

@Alkarex
Copy link
Member

Alkarex commented Aug 14, 2014

Si certains ont des problèmes de performances avec MySQL (ou SQLite), il serait intéressant de les remonter (avec entre autres une sortie EXPLAIN de ou des requêtes problématiques).
Je ne pense pas que PostgreSQL sera magiquement plus rapide que MySQL, mais c'est bien d'avoir une possibilité de plus.

@aledeg
Copy link
Member

aledeg commented Aug 15, 2014

J'ai commencé à regarder comment intégrer postgres.
Je n'ai pas trop de temps en ce moment, mais je veux bien m'en occuper.

@aledeg
Copy link
Member

aledeg commented Sep 27, 2014

J'ai commencé l'ajout de Postgres.
J'arrive à créer la base donnée. Par contre j'ai un problème avec le code actuel car les tables et les colonnes sont entourés de `. Ça ne fonctionne pas avec postgres.
Est ce que je les supprime? Est ce que je cré des fichiers spécifiques pour postgres?

@Alkarex
Copy link
Member

Alkarex commented Sep 27, 2014

Il faudrait regarder s'il existe une syntaxe alternative supportée par les
3 systèmes

@aledeg
Copy link
Member

aledeg commented Sep 27, 2014

on peut écrire les requêtes sans les `. On les utilise juste au cas où on aies des mots réservé de SQL dans les noms. Mais comme on gère nous même les tables et les colonnes, je pense qu'on peut les enlever.

@Alkarex
Copy link
Member

Alkarex commented Sep 28, 2014

Apparemment, avec SET sql_mode='ANSI_QUOTES', on peut utiliser la syntaxe standard dans MySQL, qui est donc aussi compatible avec PostgreSQL (vérifier pour SQLite). http://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ansi_quotes

@Alkarex
Copy link
Member

Alkarex commented Sep 28, 2014

Sinon pour enlever les accents graves, il faudrait vérifier quels sont les préfixes et les noms d'utilisateurs que nous autorisons pour voir s'il est toujours justifié de les protéger.
Je n'arrive plus immédiatement à retrouver le commit où Marien (je crois) avait commencé cette protection.

@aledeg
Copy link
Member

aledeg commented Sep 29, 2014

Sinon, je peux refaire les requêtes juste pour postgres

Alkarex added a commit that referenced this issue Sep 30, 2014
As discussed on
#493 (comment)
For performance, but this is also a good simplification.
Will help with PostgreSQL
#416 and SQLite too
#100 because the main
query becomes simpler.

Me may need to introduce another system to hide old articles, if this is
a problem for some users.
Also, the feature showing "empty feeds" in another colour may need to be
adapted.
@Alkarex
Copy link
Member

Alkarex commented Sep 30, 2014

Qu'en dit @marienfressinaud ? Je crois que tu avais ajouté ces accents graves pour des problèmes de noms d'utilisateurs ou préfixes de base ?

@marienfressinaud
Copy link
Member

Ah pardon, j'ai oublié de répondre ! À vrai dire je ne me souviens même plus de cet ajout… Au niveau des préfixes, tant que ça reste alphanumerique ça ne me semble pas plus dangereux que ça, si ?

L'idéal serait une syntaxe qui fonctionnerait pour les trois SGBD. Si ce n'est pas possible, je trouve que réécrire toutes les requêtes pour Postgre est vraiment très dommage (on passe par PDO qui est censé nous abstraire quand même une grosse partie du travail). Du coup enlever les accents graves me semble être la deuxième meilleure piste, mais il va falloir tester les préfixes en profondeur !

@woshilapin
Copy link

Pour l'instant, je gère mes RSS avec OwnCloud (qui fonctionne sur PostGreSQL) en attendant que FreshRSS passe sur PostGreSQL. Je veux bien être cobaye :-) N'hésitez pas à me contacter pour tester vos propositions !

@marienfressinaud marienfressinaud modified the milestones: 2.0.0, 0.10-dev Jan 13, 2015
@aledeg
Copy link
Member

aledeg commented Feb 21, 2015

Peut-être faudrait il attendre la fin de #732 ?

@mro
Copy link
Contributor

mro commented Feb 11, 2016

thx!

@Alkarex Alkarex added the Work in progress 🚧 Wait before merging label Feb 16, 2016
@anayrat
Copy link

anayrat commented Jun 11, 2016

👍 merci pour le travail!

@Alkarex Alkarex modified the milestones: 1.5.1-beta, 2.0.0 Aug 2, 2016
Alkarex added a commit to Alkarex/FreshRSS that referenced this issue Aug 2, 2016
@Alkarex Alkarex mentioned this issue Aug 2, 2016
@Alkarex
Copy link
Member

Alkarex commented Aug 2, 2016

@Damstre Je viens de commencer un patch pour PostgreSQL basé sur votre travail, partant de la branche /dev actuelle, et en essayant de limiter le nombre de changements https://github.com/Alkarex/FreshRSS/tree/PostgreSQL Je n'ai pas encore testé.
Commentaires, contributions, et tests bienvenus dans #1195

@Alkarex Alkarex modified the milestones: 1.5.1-beta, 1.5.2-beta Aug 14, 2016
@Alkarex
Copy link
Member

Alkarex commented Oct 1, 2016

PostgreSQL has landed in the dev branch of FreshRSS :-) Tests welcome!

@Alkarex Alkarex closed this as completed Oct 1, 2016
@marienfressinaud
Copy link
Member

\o/

@Alkarex
Copy link
Member

Alkarex commented Oct 1, 2016

En plus de PostgreSQL, il faut aussi vérifier qu'il n'y a pas de nouveau bug avec MySQL et SQLite, donc les tests sont aussi bienvenus pour ces bases de données

@Alkarex
Copy link
Member

Alkarex commented Oct 14, 2016

For the PostgreSQL testers of the /dev version, I would particularly be interested in feedback about:

Alkarex added a commit that referenced this issue Oct 15, 2016
Alkarex referenced this issue in Alkarex/FreshRSS Oct 15, 2016
javerous pushed a commit to javerous/FreshRSS that referenced this issue Jan 20, 2020
javerous pushed a commit to javerous/FreshRSS that referenced this issue Jan 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants