2017-08-30 9 views
0

Dans quelles circonstances une organisation commerciale utiliserait-elle en toute sécurité les processus de travail en arrière-plan de PostgreSQL? Contexte: en lisant la documentation sur le système PostgreSQL, je suis porté à croire qu'il s'agit d'une fonctionnalité académique ou expérimentale pour la plupart des organisations en raison de l'avertissement explicite dans la documentation que la fonctionnalité accorde un accès direct aux données sous-jacentes. et les capacités d'exécution de la machine en dehors des contrôles dans le système PostgreSQL.Dans quelles circonstances une organisation commerciale utiliserait-elle de manière sécurisée les processus de travail de Postgres?

Donc, pour réitérer la question; Y a-t-il des exemples dans la mesure où la plupart des organisations soucieuses de la sécurité éviteraient ce mal de tête et utiliseraient un paradigme alternatif pour interagir avec d'autres processus du système?

Merci! John

Répondre

1

Est-ce quelqu'un dans l'espace commercial en utilisant la fonction en dehors des fins expérimentales

Oui, certainement. Il est largement utilisé par BDR et pglogical, par exemple.

Je pense que vous ne comprenez surtout pas la documentation. Bgworkers a les mêmes droits que tout autre processus exécuté en tant qu'utilisateur postgres. Notamment cela inclut fonctions C définies par l'utilisateur comme chargé par les extensions.

Un travailleur d'arrière-plan est pas significativement différent en termes de sécurité à toute autre extension qui est le code C compilé à une bibliothèque partagée et chargé par PostgreSQL.

Toute extension C peut enregistrer des crochets pour intercepter et modifier des requêtes, la charge d'abord des bibliothèques arbitraires, effectuer un accès réseau, réécrire la mémoire partagée, lire et écrire des fichiers accessibles par l'utilisateur du système postgres, etc., etc.

Don » t charge les extensions C que vous ne faites pas confiance, elles font effectivement partie de PostgreSQL. Les travailleurs de fond ne sont pas différents. (Il en va de même pour les langages procéduraux "non approuvés" comme plpython, plperl, etc.).

+0

BDR ... googling retour "Big Dad Ritch" lol qui ne ressemble pas à des trucs liés au logiciel ... https://en.wikipedia.org/wiki/BDR .. ce qui est exactement BDR que vous êtes référencement? Sinon, votre réponse prend tout son sens ... Merci! vous êtes si bien informé! –

+0

Réplication bidirectionnelle. Boom. –