Vous n'êtes pas identifié(e).
Bonjour,
Dual boot Windows 7 Debian 8.2
Je voudrais installer Postgresql sous Linux et mettre la base sur une partition ntfs
j'ai essayé ces commandes :
/usr/lib/postgresql/9.4/bin/postgres -D '/media/Mes documents/GhostSpirit/BTS_SIO_2016/Exploitation des donnees/bdd'
postgres /usr/lib/postgresql/9.4/bin/initdb -D '/media/Mes documents/GhostSpirit/BTS_SIO_2016/Exploitation des donnees/bdd'
mais à chaque fois j'échoue quand je dois choisir l'utilisateur postgresql
Et pour cause, je n'arrive pas à changer les permissions du répertoire bdd qui est comme vous l'avez devinez sur une partion ntfs
Puisque vous nous accordez 3 souhaits à chaque nouvelle inscription
permettez messieurs, dames de vous dire mon premier voeu
c'est celui de pouvoir ouvrir et utiliser la même base de donnée que ce soit sous Linux ou sous Windows
Hors ligne
Bonjour,
Quel est le message d'erreur exact ?
Utilisez vous samba ?
Debian est-il capable d'écrire dans du ntfs ? Sinon privilégier fat32.
Cordialement.
Cordialement,
Sébastien.
Hors ligne
Bonjour ruizsebastien,
la premiere commande me retourne cette erreur
2015-12-08 12:11:45 CET [21358-2] FATAL: le répertoire des données « /media/Mes documents/GhostSpirit/BTS_SIO_2016/Exploitation des donnees/bdd » a un mauvais propriétaire
2015-12-08 12:11:45 CET [21358-3] ASTUCE : Le serveur doit être en cours d'exécution par l'utilisateur qui possède le répertoire des données.
et la deuxième commande me retourne
Les fichiers de ce cluster appartiendront à l'utilisateur « postgres ».
Le processus serveur doit également lui appartenir.
L'instance sera initialisée avec la locale « fr_FR.UTF-8 ».
L'encodage par défaut des bases de données a été configuré en conséquence
avec « UTF8 ».
La configuration de la recherche plein texte a été initialisée à « french ».
Les sommes de contrôles des pages de données sont désactivées.
correction des droits sur le répertoire existant /media/Mes documents/GhostSpirit/BTS_SIO_2016/Exploitation des donnees/bdd... initdb : n'a pas pu modifier les droits du répertoire « /media/Mes documents/GhostSpirit/BTS_SIO_2016/Exploitation des donnees/bdd » : Opération non permise
postgres@DebianLvm:/home/spirit-debian$
En fait, je crois comprendre qu'il faut attribuer les droit de propriétés du repertoire à postgres, mais c'est impossible de changer les droits de propriété d'un répertoire sur une partition ntfs
J'ai installer samba il y a peu de temps pourquoi ?
oui, débian est capable d'ecrire sur une partiton NTFS
quel différence y a t-il entre le cluster et la base de données ?
Hors ligne
Je pense avoir en partie résolu mon problème
j'ai utilisé la méthode du lien symbolique
cp repertoired'origine repertoirededestination
ln -s repertoire_destination repertoire_d-origine
maintenant il faut que j'essaye sous windows.
Hors ligne
Un cluster est l'équivalent d'une instance.
Ensuite dans une instance/cluster il peut y avoir une ou plusieurs bases de données.
On est plus prêt du monde SQL server que de celui d'Oracle.
Pour le problème de droits et propriétaire sous windows, je ne sais pas.
Je ne connais pas trop samba mais je sais quon peut facilement gérer les problèmes de droits sur des partitions windows.
Cordialement,
Sébastien.
Hors ligne
Il n'est de toutes façons pas possible d'utiliser un même répertoire de données avec des binaires linux et des binaires windows. Dans le meilleur des cas vous aurez une erreur au démarrage, et dans le pire des cas des corruptions silentieuses
Julien.
https://rjuju.github.io/
Hors ligne
salut rjuju,
un même répertoire de données avec des binaires linux et des binaires windows.
peux tu être plus précis ?
mon but étant d'utilisée une base de donnée postgresql sous les deux systems,
avec pgadmin3 (linux et windows)
Tu es sûr que ce n'est pas possible, j'ai du mal à y croire.
en générale les serveurs sont sous linux et les utilisateurs sous windows
je pends l'exemple d'un fichier doc
si j'écris un fichier doc sous windows avec word , je peux avec libreoffice y avoir access sous linux
@ruizsebastien
Je ne connais pas trop samba mais je sais quon peut facilement gérer les problèmes de droits sur des partitions windows.
je cherche, peut être pour rien d'ailleurs
Hors ligne
Ce que dit rjuju a du sens :
tu dois choisir à quel endroit tu installes le moteur postgresql et la base de données (de préférence sur debian).
Ensuite sur ton windows tu installes pgadmin en tant que client.
Ainsi tu as accès depuis ton windows (mode client/serveur) et depuis ton debian (en local directement sur le serveur).
Cordialement,
Sébastien.
Hors ligne
@ruisebastien
tu dois choisir à quel endroit tu installes le moteur postgresql et la base de données (de préférence sur debian).
Ensuite sur ton windows tu installes pgadmin en tant que client.
Ainsi tu as accès depuis ton windows (mode client/serveur) et depuis ton debian (en local directement sur le serveur).
je commence à saisir...
j'ai un pc avec un dual boot, donc impossible de mettre en route en même temps debian et linux à la fois, c'est la raison pour laquelle je cherchais à mettre la base de donnée sur la partition windows, est d'installer le moteur postgresql version linux sur debian, et le moteur postgresql de windows sur windows... et ensuite utilisé pgadmin pour gérer la base de données crée.
mais si c'est pas possible, je vais pas insisté.
d'autant que j'ai aussi un autre pc qui me sert de serveur de sauvegarde (avec postgresql d'installer dessus autant l'utiliser)
Entre le moteur, le cluster et la base de données j'en perds mon latin
vous auriez pas un lien avec un petit tuto pour se connecter à une base de données sur un serveur en ssh avec pgadmin, c'est mon deuxième voeu
Hors ligne
Je pense que Julien faisait allusion au fait qu'une instance physique (le répertoire des données et tous les fichiers inclus) ne peut être servi que par un serveur de même plateforme et architecture que le binaire qui a initialisé la base de données (initdb -D xxxx).
Mais bien entendu le serveur peut répondre à n'importe quel type de client indépendamment de la plateforme ou architecture pour laquelle il a été compilé.
Bref, le binaire du serveur doit être compatible avec le binaire qui a créé le cluster/l'instance. Par contre, les accès à cette base n'ont pas cette contrainte car ils n'accèdent pas directement le cluster mais interagissent avec le serveur qui lui lis les données du cluster.
Éric
Hors ligne
Oui, désolé si ce n'était pas clair. Un client linux peut bien évidemment se connecter une base windows et inversement.
Par contre, le stockage physique des données est spécifique à l'architecture faisant tourner le serveur. Ainsi, démarrer une instance postgres initialisée à l'origine sous linux sur un windows ne peut pas fonctionner, comme le dis Éric.
Dans votre cas, il faut sait avoir 2 instances différentes (une linux et une windows), ou passer par un serveur tiers.
Julien.
https://rjuju.github.io/
Hors ligne
edlm,
Merci
Hors ligne
@rjuju
Dans votre cas, il faut sait avoir 2 instances différentes (une linux et une windows), ou passer par un serveur tiers.
c'est justement ce que je veux faire, mais je ne sais pas comment le faire
j'ai installe postgresql avec apt-get et tout est installer dans /var/lib/...
quel(s) est ou sont les fichiers qui appartiennent à la base de données
Hors ligne
Les fichiers appartenant à l'instance sont tous les fichiers présents dans /var/lib/postgresql/X.Y/main, ainsi que les fichiers dans /etc/postgresql/X.Y/main.
Julien.
https://rjuju.github.io/
Hors ligne
@GhostSpirit vous ne pouvez pas en dual boot avoir un répertoire de données (cluster) qui a été initialisé sous Debian puis rebooter sous Windows et lancer le serveur PostgreSQL sur le même répertoire de données. Et inversement (initialisation sous Windows et servi sous Debian). Car, comme expliqué précédemment le format du cluster (les fichiers physiques qui constituent le cluster) n'est pas universel pour toutes les plateformes et architectures existantes.
D'où la notion de serveur tiers évoqué qui serait un 3ème ordinateur (physique ou virtuel) qui ferait office de serveur PostgreSQL d'un cluster de données initialisé et servi par cette 3ème machine. Les 2 1ères (Debian et Windows en dual boot sur le même ordi physique) accèderaient ce serveur avec des binaires qui leur sont propres (un jeu de binaires Windows pour Windows et un jeu de binaire Debian pour Debian): psql, pgadmin... n'importe quels clients qui "parlent" tous le même protocole et qui peuvent donc s'adresser au serveur PostgreSQL hébergé sur la 3ème machine (n'importe quel serveur hébergé sur n'importe quelle machine).
Est ce que c'est plus clair maintenant sur ce qui est faisable et ce qui ne l'est pas ?
Éric
Hors ligne
yes
Hors ligne