Todo – wiki postgresql ce qui est minage dans bitcoin

Cette liste contient des bogues connus de PostgreSQL, des demandes de fonctionnalités et certaines choses dont nous ne sommes même pas sûrs. Beaucoup de ces articles sont difficiles, et certains sont peut-être impossibles. Si vous souhaitez travailler sur un élément, lisez d’abord la FAQ développeur. Il y a aussi une page d’information sur le développement.

AVERTISSEMENT pour les développeurs: Malheureusement, cette liste ne contient pas toutes les informations nécessaires pour que quelqu’un puisse commencer à coder une fonctionnalité. Certains de ces éléments pourraient être devenus inutiles puisqu’ils ont été ajoutés — d’autres pourraient être souhaitables mais la mise en œuvre pourrait ne pas être claire. Lorsque vous sélectionnez les éléments répertoriés ci-dessous, préparez-vous à discuter d’abord de la valeur de la fonctionnalité.


Ne présumez pas que vous pouvez en sélectionner un, le coder et attendre ensuite qu’il soit validé. Discutez toujours de la conception sur la liste des pirates avant de commencer à coder. Le flux devrait être:

Cela permettrait aux administrateurs de voir des informations plus détaillées à partir de sections spécifiques du backend, par ex. checkpoints, autovacuum, etc. Une autre idée consiste à autoriser des fichiers de configuration séparés pour chaque module, ou à leur permettre de passer des commandes SET arbitraires. Voir aussi Logging Brainstorm.

Spécifiez et implémentez la compression du protocole filaire. Si la compression SSL transparente est utilisée, nous espérons éviter la surcharge de la négociation et du cryptage des clés lorsque SSL est configuré uniquement pour la compression. Notez que la compression est supprimée de TLS 1.3 donc nous devons vraiment le faire nous-mêmes.

Les fonctionnalités suivantes ont été discutées ad nauseum sur les listes de diffusion PostgreSQL et le consensus a été que le projet ne les intéresse pas. En tant que tel, si vous allez les présenter comme des fonctionnalités potentielles, vous voudrez être familier avec tous les arguments contre ces caractéristiques qui ont déjà été faites au fil des ans. Si vous décidez de travailler sur de telles fonctionnalités de toute façon, sachez que vous êtes confronté à une barrière supérieure à la normale pour que le Projet les accepte.

Ceci élimine la protection de processus que nous obtenons de la configuration actuelle. La création de thread est généralement la même que la création de processus sur les systèmes modernes, il semble donc imprudent d’utiliser un modèle purement threadé, et MySQL et DB2 ont démontré que les threads introduisent autant de problèmes qu’ils résolvent. Threading des opérations spécifiques telles que E / S, seq scans, et la gestion des connexions a été discuté et sera probablement mis en œuvre pour activer des fonctionnalités de performance spécifiques. Passer à un moteur à threads nécessiterait également d’arrêter tout autre travail sur PostgreSQL pendant un à deux ans.

Les indicateurs d’optimisation, tels qu’ils sont implémentés dans Oracle et d’autres SGBDR, sont utilisés pour contourner les problèmes de l’optimiseur et introduire des problèmes de mise à niveau et de maintenance. Nous préférerions que de tels problèmes soient signalés et corrigés. Nous avons discuté un système plus sophistiqué d’ajustement des coûts par classe à la place, mais une spécification reste à développer. Voir Discussion sur les optimisations pour plus d’informations.

Alors que les clients PostgreSQL fonctionnent correctement dans les environnements à ressources limitées, le serveur requiert plusieurs processus et un pool de ressources stable pour fonctionner de manière fiable et efficace. Supprimer le serveur PostgreSQL pour qu’il s’exécute dans le même espace d’adressage de processus que l’application cliente ajouterait trop de complexité et d’échecs. En outre, plusieurs bases de données SQL embarquées très matures sont déjà disponibles.

Obfuscating source de fonction Le code offre des avantages minimes en termes de protection car toute personne disposant d’un accès super-utilisateur peut trouver un moyen d’afficher le code. En même temps, cela compliquerait grandement les sauvegardes et autres tâches administratives. Pour empêcher les non-super-utilisateurs de voir source de fonction code, supprimez l’autorisation SELECT sur pg_proc.

Au moins un autre produit de base de données permet la spécification d’un sous-ensemble des colonnes de résultat dont GROUP BY devrait être capable de fournir des résultats prévisibles; le serveur est libre de renvoyer n’importe quelle valeur du groupe. Ceci n’est pas considéré comme une caractéristique souhaitable. PostgreSQL 9.1 autorise les colonnes de résultats qui ne sont pas référencées par GROUP BY si une clé primaire pour la même table est référencée dans GROUP BY.