Vous n'êtes pas identifié(e).

#26 PHP » [résolu] pas de pgsql.so » 05/10/2013 21:43:05

mybofy
Réponses : 2

Bonjour

Postgresql installé avec "aptitude install postgresql-9.1 php5-pgsql postgresql-contrib-9.1"
php5 installé avec "aptitude install"

module php5 présent dans apache2

pgsql.so introuvable

Pas de postgresql dans phpinfo();

Merci de l'aide.

#27 Re : Installation » [Résolu]changer répertoire des données après installation qui marche » 04/10/2013 16:25:53

Elle marche.
Mais l'ai le message quand je redémarre le serveur.


postgres@gandalf : ~ >> pg_ctl -m fast restart
pg_ctl: PID file "/var/lib/postgresql/9.1/main/postmaster.pid" does not exist
Is server running?
starting server anyway
server starting
postgres@gandalf : ~ >> 2013-10-04 14:18:45 GMT FATAL:  lock file "postmaster.pid" already exists
2013-10-04 14:18:45 GMT HINT:  Is another postmaster (PID 1221) running in data directory "/srv/postgresql/9.1/main"?


Que faire pour éliminer

pg_ctl: PID file "/var/lib/postgresql/9.1/main/postmaster.pid" does not exist
Is server running?

#28 Re : Installation » [Résolu]changer répertoire des données après installation qui marche » 04/10/2013 15:52:59

La solution que j'ai trouvée (proche de celle proposée) est :
    - copier le répertoire data sur le nouveau disque (en faisant attention aux autorisations)
    - dans postgresql.conf changer le data_directory
Ca marche apparemment !

Merci

#29 Installation » [Résolu]changer répertoire des données après installation qui marche » 04/10/2013 15:07:17

mybofy
Réponses : 8

Bonjour
ubuntu 12.04 postgresql 9.1.9

J'ai installé postgresql sans problème.
Mais je voudrais changer le répertoire des données vers un répertoire d'un disque indépendant du disque système.
L'installation standard par apt-get ne le permet pas me semble-t-il ?

Merci

ps: désolé si la question a déjà été posée et résolue. Mais je n'ai pas trouvé.

#30 Re : Général » impossible d'utiliser password pour se connecter, seul trust marche » 03/10/2013 13:28:15

En remplaçant trust ou password par md5, ça a l'air de marcher : le mot de passe, entré en clair, est bien pris en compte !

Mais je ne comprends pas pourquoi...

#31 Re : Général » impossible d'utiliser password pour se connecter, seul trust marche » 26/09/2013 15:35:44

Hélas, rien de changé.

J'ai basculé mon serveur courant sur un serveur de secours.
J'ai tout réinstallé, y compris PostgreSQL, et restauré tous mes données.
Et tout marche parfaitement pour PG !

Il y a sans doute quelque chose de pourri dans le PG de mon serveur courant, ou peut-être ailleurs que dans le PG.

Désolé pour le temps que je vous ai fait perdre.

Grand merci à tous.

#32 Re : Général » impossible d'utiliser password pour se connecter, seul trust marche » 25/09/2013 18:06:16

Voici les fichiers de configuration.

...>> vi environment
    "vide"
..>> vi pg_ctl.conf
pg_ctl_options = ''
...>> vi pg_hba.conf
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
host  all   all   0.0.0.0/0   trust
...>> vi pg_ident
    "vide"
..>> vi vi postgresql.conf // J'ai supprimé la plupart des lignes commentées
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = '/var/lib/postgresql/9.1/main'    # use data in another directory
               # (change requires restart)
hba_file = '/etc/postgresql/9.1/main/pg_hba.conf'  # host-based authentication file
               # (change requires restart)
ident_file = '/etc/postgresql/9.1/main/pg_ident.conf' # ident configuration file
               # (change requires restart)

# If external_pid_file is not explicitly set, no extra PID file is written.
external_pid_file = '/var/run/postgresql/9.1-main.pid'      # write an extra PID file
               # (change requires restart)

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'
#listen_addresses = 'localhost'     # what IP address(es) to listen on;
               # comma-separated list of addresses;
               # defaults to 'localhost', '*' = all
               # (change requires restart)
port = 5432          # (change requires restart)
max_connections = 100         # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
unix_socket_directory = '/var/run/postgresql'      # (change requires restart)
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------

# - Memory -

shared_buffers = 24MB         # min 128kB
               # (change requires restart)
...>>vi postmaster.opts
/usr/lib/postgresql/9.1/bin/postgres "-D" "/var/lib/postgresql/9.1/main" "-c" "config_file=/etc/postgresql/9.1/main/postgresql.conf"
...>>vi postmaster.pid
3976
/var/lib/postgresql/9.1/main
1378740363
5432
/var/run/postgresql
*
  5432001     32768
...>> vi start.conf
# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
#         pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
#           circumvented and is only meant to be a small protection for
#           accidents).

auto


Avec cette configuration.

...>> psql -h 127.0.0.1 -W -d BdD -U username
Password for user username:
psql: FATAL:  password authentication failed for user "username"
...>> psql -h domain.tld -W -d BdD -U username
Password for user username:
psql (9.1.9)
Type "help" for help.

BdD=> select * from plantes;
id |            nom_latin            |         nom_commun         
----+---------------------------------+-----------------------------
  1 | Achillea millefolia             | Achillée millefeuille
  2 | Agastache mexicana              | Agastache mexicaine
  3 | Agastache rupestris             | Agastache rupestre
BdD=>

La connexion locale ne marche pas, ce qui n'est pas normal.
La connexion à distance marche ce qui est normal.

Maintenant si je change
    host  all   all   0.0.0.0/0   trust
en
    host  all   all   0.0.0.0/0   password
j'obtiens
...>> psql -h domain.tld -W -d BdD -U username
Password for user username:
psql: FATAL:  password authentication failed for user "username"

Que puis-je ajouter ?

#33 Re : Général » impossible d'utiliser password pour se connecter, seul trust marche » 25/09/2013 16:45:25

Après pas mal de recherches et d'essais.


Je n'ai pas un problème d'écriture du mot de passe : "aaaaaaaa" ne marche pas tout autant.
Je n'ai pas un problème de réseau : avec METHOD=trust la connexion à distance se fait sans problème.


J'ai un problème quelque part lorsque METHOD=password dans pg_hba.conf


J'ai examiné plusieurs fois les fichiers de configurations dans /etc/postgresql/9.1/main
Je n'ai rien vu qui puisse expliquer mon problème selon moi.


Faut-il réinstaller PostgreSQL ?


Si je sauvegarde toutes les bases de données de mon serveur distant
Si je supprime l'installation existante de PG et tous les fichiers associés à PG, sauf /var/lib/postgresql/9.1/main qui contient les données, je crois
Si je réinstalle PG
Si je restaure les BdD
Y a-t-il un risque de perdre toutes mes données ?

#36 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 07/06/2013 10:53:27

Je crois que je commence à comprendre...
Il y a deux problèmes, qui interféraient.
1. Rôle de connexion.
Pour utiliser "lo_import" et "lo_export" il faut se connecter à la BdD avec le rôle "superuser",
cf. http://docs.postgresql.fr/9.1/lo-funcs.html
Je n'avais pas compris que j'utilisais "lo_import" et "lo_export" en mode "server-side".
2. Permissions.
Les fichiers créés ou lus via "lo_import" et "lo_export" le sont avec le "user" d'installation
de PostgreSQL, par défaut "postgres" que j'ai gardé.
Il faut donc que les permissions du répertoire où sont ces fichiers soient "drwxrwxrwx".
Xcode place ses fichiers dans "/Users/rn/Library/Developer/...".
Or, "Library" a pour permissions "drwx------", d'où "Permission denied" de  "lo_import" et "lo_export".
J'ai fait l'essai de modifier les permissions de "Library" en  "drwxrwxrwx" : sans surprise tout marche.
Mais cette modification me paraît très risquée : je suis revenu aux permissions d'origine de "Library".
Je tente de contourner la situation !
Bien à vous tous

#37 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 04/06/2013 18:11:59

Ça marche, mais pas toujours...

Connexion sous superuser

Ce qui marche :

select lo_export(images.image, '/Users/rn/pg-imgs/toto.jpg') from images where oid=19799;
ll /Users/rn/pg-imgs/
total 5488
drwxrwxrwx   4 rn    staff      136  4 jui 17:46 ./
drwxr-xr-x+ 71 rn    staff     2414  4 jui 17:25 ../
...
-rw-rw-rw-   1 rn  staff  1402800  4 jui 17:46 toto.jpg
...

Ce qui ne marche pas :

select lo_export(images.image, '/Users/rn/Library/Developer/Xcode/DerivedData/Image-clbsvkdcitfkxjalymeymfwizgpz/Build/Products/Debug/Image.app/Contents/Resources/toto.jpg') from images where oid=19799;
ll  /Users/rn/Library/Developer/Xcode/DerivedData/Image-clbsvkdcitfkxjalymeymfwizgpz/Build/Products/Debug/Image.app/Contents/Resources
total 14256
drwxrwxrwx  17 rn  staff      578  4 jui 17:32 ./
drwxrwxrwx   6 rn  rn         204 28 mai 16:15 ../
...
-rw-rw-rw-   1 rn  staff  1402800 30 mai 18:45 toto.jpg
...

Cela ne marche pas non plus :

select lo_export(images.image, '/Users/rn/pg-imgs/toto.jpg') from images where oid=19799;
ll /Users/rn/pg-imgs/
total 5488
drwxrwxrwx   4 rn    staff      136  4 jui 17:46 ./
drwxr-xr-x+ 71 rn    staff     2414  4 jui 17:25 ../
...
-rw-r--r--   1 rn  staff  1402800  4 jui 17:46 toto.jpg
...

Étrange, non ?

#38 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 03/06/2013 08:47:57

pour #8
Dans les paramètres de connexion du framework PGSQLKit:
    - j'avais pour valeur de la variable "userName" le rôle de connexion de la BdD,
    - j'ai remplacé cette valeur par le superuser,
    - et lo_import et lo_export marchent !
Visiblement, je n'avais pas compris les rôles dans PostgreSQL, notamment celui du superuser qui peut tout faire pour PostgreSQL,  comme le fait le compte root pour les unix.
pour #9
Oui, mais ça c'est assez facile à faire, pour moi du moins...
Grand merci à tous.

#39 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 02/06/2013 19:36:03

pour #5

Cela ne change rien.
C'est plutôt un problème de superuser, cf #6 ?

Merci

#40 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 02/06/2013 19:33:46

to #4
Le log donne :
2013-06-02 19:29:17 CEST ERROR:  must be superuser to use server-side lo_import()
12 2013-06-02 19:29:17 CEST HINT:  Anyone can use the client-side lo_import() provided by libpq.
13 2013-06-02 19:29:17 CEST STATEMENT:  insert into images values (lo_import('/pg-imgs/titi.jpg'))

comment executer le lo_import comme superuser ?

#41 Re : Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 02/06/2013 15:02:23

OSX 10.7.5 - Xcode 5.6.1 - PostgreSQL 9.1

Je crée une application osx avec xcode.
J'utilise le framework pgsqlkit pour accéder à un serveur postgresql local.
Aucun problème pour me connecter à une BdD, accéder à une table et exécuter des requêtes sql pour manipuler la table comme je veux. Comme je le fais avec pgAdmin.
Sauf pour utiliser les fonctions lo_import et lo_export.

NB: connection est OK

Table images:
...
CREATE TABLE images ( image oid ) WITH ( OIDS=TRUE );
...

Dans mon projet xcode :

        NSString *sql0 = @"select image from images where oid=19805;";
        PGSQLRecordset *rs0 = [connection open:sql0];
        NSLog(@"rs0 : %@", rs0);        

marche très bien :

        2013-06-02 14:31:03.923 Image[23354:603] rs0 : <PGSQLRecordset: 0x103b080b0>        

Alors que :

        NSString * sql1 = @"insert into images values (lo_import('/pg-imgs/titi.jpg'));";
        PGSQLRecordset *rs1 = [connection open:sql1];
        NSLog(@"rs1 : %@", rs1);        

ne marche pas :

        2013-06-02 14:31:03.923 Image[23354:603] rs1 : (null)        

Pour contrôle, les requêtes sql0 et sql1 marchent bien dans pgAdmin.

Merci

#42 Général » [résolu] Usage de lo_import et lo_export depuis Xcode » 01/06/2013 17:26:11

mybofy
Réponses : 13

Bonjour

Je sais utiliser lo_import et lo_export depuis PgAdmin pour gérer mes images : tout est ok.

Je sais utiliser un serveur PostgreSQL depuis un projet cocoa via xcode, ok sauf en ce qui concerne les oid.
Impossible de stocker des images dans la BdD avec lo_import, ni d'extraire des images avec lo_export dans mon projet Xcode.
Je suppose qu'il y a un problème d'autorisation ? Mais je ne trouve rien, ni sur le net, ni dans les doc.
Pourtant PgAdmin est une application OS X comme les applications produites avec Xcode, non ?

Quelqu'un aurait-il une clé pour me permettre de débloquer la situation ?

Merci.

Pied de page des forums

Propulsé par FluxBB