PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 Général » Syntaxe ALTER DOMAIN pour changement de type de données » 04/10/2024 13:51:51

genamiga
Réponses : 0

Bonjour,

J'ai un DOMAIN qui est VARCHAR(50)

Je voudrais qu'il devienne de type TEXT pour ne plus avoir de contrainte de longueur.

Est-ce possible avec ALTER DOMAIN ?

Merci d'avance.

#2 Re : Général » Driver postgres JDBC JRE » 18/07/2024 08:28:26

Si mes souvenirs sont bons, à l'époque de Java 6,7,8 il y avait un "nommage" avec les extensions jre6 jre7,jre8, etc...ça viens de là.

Mais depuis la version??? c'est que jre8 pour Java 8 ou plus.

#3 Re : Général » Driver postgres JDBC JRE » 17/07/2024 13:30:27

Bonjour,

A priori, vous devriez pouvoir utiliser une version plus récente.

On peut tout trouver les sites :

- pgJDBC : https://jdbc.postgresql.org/download/
- Maven : https://mvnrepository.com/artifact/org. … postgresql

Mais c'est plus complet sur Maven (sources, javadoc, ...)

#4 Re : Installation » Erreur Initialisation Cluster base de données sous Win 10 Pro » 19/06/2024 16:00:15

Est ce que vous avez essayé de lancer l'installateur de PostegreSQL en mode administrateur ?

#5 Re : Général » sequence pour generer une cle primaire - creation a posteriori ... » 16/05/2023 11:44:51

Bonjour,


Pour info, il me semble qu'avec une SEQUENCE, la valeur créer est perdue si l'insertion échoue.

Exemple :

nextval = 10

Tentative d'INSERT avec 10

nextval passe à 11 même si l'INSERT échoue

Et l'INSERT suivant sera tenté avec 12

#6 Re : PHP » PostgeSQL Apache http/2 » 27/03/2023 10:17:05

Si qlq a une expérience avec la combinaison :

- Windows
- Apache
- HTTP/2
- PHP
- PostgreSQL

Ce serait cool de partager.

Merci d'avance.

#7 Re : PHP » PostgeSQL Apache http/2 » 26/03/2023 20:21:20

Mais il faut quand même certains fichiers/modules pour le support PostgreSQL, pour par exemple le support des LargeObject...pgsqlLOBOpen ?

#8 Re : PHP » PostgeSQL Apache http/2 » 26/03/2023 15:00:02

rjuju a écrit :

Bonjour,


À priori vous n'avez vraiment besoin de qu'une lib php avec le support de postgres venant de l'installeur postgres (et encore, la libpq a une très bonne compatibilité ascendante vous pourriez utiliser n'importe quelle. version).  Tout le reste est spécifique à apache2 et non postgres, vous pouvez donc l'installer depuis n'importe quelle source dédiée apache2 plutôt que postgres.

Désolé mais c'est pas très clair...

#9 PHP » PostgeSQL Apache http/2 » 25/03/2023 19:11:11

genamiga
Réponses : 6

Bonjour,

Pour mon site j'utilise :

- Windows 11 Pro
- PostgreSQL 15.2
- Package Apache/PHP qui vient du StackBuilder (de l'installation PG) avec les versions Apache 2.4.53 et PHP/5.5.38

Est-ce que http/2 est possible avec ce que j'utilise ?

Dans les dossiers de Apache je ne vois pas de mod_http2 donc j'imagine que la réponse est non.

Mais comment faire alors ?

Peut-on y ajouter le mod_http2 et si oui comment ?

Ou quel autre package Package Apache/PHP pour PostgreSQL faut-il utilisé pour le support http/2 ?

Merci d'avance.

#10 Re : Installation » Connexion à une database » 24/03/2023 10:04:19

Si vous avez utilisé les options par défaut lors de l'installation les logs de PG se trouvent dans "C:\Program Files\PostgreSQL\15\data\log" et regardez le contenu du fichier le plus récent. Son doit être du genre "postgresql-2023-03-24_090156.log"

#11 Re : Migration » Migration pg 9.6 vers pg13 » 23/03/2023 10:32:58

Bonjour,

Je suis curieux...

Pourquoi migrer vers PG13 et pas PG15 directement ?

#12 Re : Installation » Connexion à une database » 23/03/2023 10:30:41

Si le service s'arrête c'est qu'il y a un soucis de configuration...voir les logs

Si c'est une instance vierge, à la limite vous pouvez désinstaller et réinstaller.

#13 Re : Installation » Connexion à une database » 22/03/2023 09:28:17

L'état du service PostgreSQL n'est pas "en cours" donc pas démarré.

Reste à savoir pourquoi...

#14 Re : Général » Connexion distante a la bd » 06/12/2022 12:58:06

Avez-vous configuré le pare-feu pour autoriser PostgreSQL ?

#15 Re : Sécurité » passage en postresql 14 et encryption en shram plutot que md5 » 08/07/2022 13:55:08

Bonjour,

Il est quand vraiment dommage qu'il n'y ai pas la possibilité de réencoder les mots de passe en scram-sha...

#16 Re : Général » id exponentielle sur un merge » 19/05/2022 13:40:38

Un moyen de ne pas incrémenter si échec d'INSERT ?

#17 Re : pgAdmin4 » Auto incrémentation depuis un fichier CSV » 05/05/2022 11:13:04

Bonjour,

Il suffit de choisir le type de colonne SERIAL pour la colonne ID et PostgreSQL créera une séquence.

Dans le fichier CSV, ne pas prendre la colonne ID, PostgreSQL  se charge de tout.

A chaque insertion dans la table ID sera auto-incrémenté.

#18 Re : Général » suppression doublons » 27/04/2022 15:51:58

Trop cool, ça fonctionne.

Grand merci.

#20 Général » suppression doublons » 27/04/2022 14:22:37

genamiga
Réponses : 4

Bonjour,

Je cherche les doublons avec ce query

WITH CTE AS (SELECT art_id, 
           prix, 
           maj, 
           ROW_NUMBER() OVER(PARTITION BY art_id,
                                          maj
           ORDER BY maj,prix DESC) AS DuplicateCount
    FROM historique_prix
SELECT * FROM CTE WHERE DuplicateCount > 1

Et voici le résultat

|art_id|prix|maj|duplicatecount|
|------|----|---|--------------|
|6739|94.00|2021-09-01 15:54:47.000|1|
|6739|88.00|2021-09-01 15:54:47.000|2|
|6739|95.00|2021-09-20 22:29:47.000|1|
|6739|96.00|2021-09-30 10:29:40.000|1|
|6739|93.00|2021-10-04 09:26:22.000|1|
|6739|91.00|2021-10-04 09:26:22.000|2|
|6739|92.00|2021-10-05 17:23:03.000|1|
|6739|93.00|2021-10-08 10:50:33.000|1|
|6739|87.00|2021-10-11 10:27:02.000|1|
|6739|88.00|2021-10-15 08:59:32.000|1|
|6739|87.00|2021-10-15 10:29:06.000|1|
|6739|84.00|2021-10-25 10:28:42.000|1|
|6739|85.00|2021-10-26 10:28:14.000|1|
|6739|84.00|2021-10-29 08:58:25.000|1|
|6739|82.00|2021-11-01 09:32:21.000|1|
|6739|83.00|2021-11-12 12:52:48.000|1|
|6739|84.00|2021-11-17 09:49:58.000|1|
|6739|85.00|2021-11-23 10:04:03.000|1|
|6739|84.00|2021-11-30 11:34:21.000|1|
|6739|85.00|2021-12-20 11:26:21.000|1|
|6739|84.00|2021-12-24 13:42:04.000|1|
|6739|83.00|2022-01-13 10:44:55.000|1|
|6739|86.00|2022-01-17 11:16:58.000|1|
|6739|89.00|2022-01-18 16:33:24.000|1|
|6739|86.00|2022-01-18 16:33:24.000|2|
|6739|90.00|2022-01-18 16:35:24.000|1|
|6739|86.00|2022-01-18 16:35:24.000|2|
|6739|91.00|2022-01-18 16:38:40.000|1|
|6739|90.00|2022-01-18 16:38:40.000|2|
|6739|93.00|2022-01-27 10:57:11.000|1|
|6739|88.00|2022-01-29 14:56:44.000|1|
|6739|87.00|2022-02-01 10:56:47.000|1|
|6739|86.00|2022-02-04 09:49:44.000|1|
|6739|87.00|2022-02-24 11:04:31.000|1|
|6739|88.00|2022-02-25 12:38:54.000|1|
|6739|89.00|2022-03-02 13:37:14.000|1|
|6739|90.00|2022-03-07 14:02:54.000|1|
|6739|89.00|2022-03-10 10:13:31.000|1|
|6739|90.00|2022-03-14 09:40:04.000|1|
|6739|89.00|2022-03-15 11:10:32.000|1|
|6739|90.00|2022-03-28 09:49:49.000|1|
|6739|89.00|2022-03-29 11:50:02.000|1|
|6739|88.00|2022-03-30 11:49:29.000|1|
|6739|89.00|2022-04-01 11:05:08.000|1|
|6739|86.00|2022-04-04 10:58:34.000|1|
|6739|87.00|2022-04-05 10:58:35.000|1|
|6739|88.00|2022-04-08 09:37:39.000|1|
|6739|87.00|2022-04-11 09:37:46.000|1|
|6739|88.00|2022-04-13 09:37:37.000|1|
|6739|87.00|2022-04-14 16:47:16.000|1|
|6739|85.00|2022-04-19 10:06:22.000|1|

Mais si j'essaie de supprimer les doublons, j'ai une erreur.

WITH CTE AS (SELECT art_id, 
           prix, 
           maj, 
           ROW_NUMBER() OVER(PARTITION BY art_id,
                                          maj
           ORDER BY maj,prix DESC) AS DuplicateCount
    FROM historique_prix WHERE art_id = 6739)
DELETE FROM CTE WHERE DuplicateCount > 1

Et voici l'erreur.

SQL Error [42P01]: ERREUR: la relation « cte » n'existe pas
  Position : 300


Error position: line: 9 pos: 299

Je ne comprends pas...

A l'aide svp.
Merci d'avance.

#21 Re : Général » Nombre de cellules avec un même mot » 29/03/2022 10:33:25

Bonjour,

Je te mets sur la voie...

Ta requête cherche les sociétés dont le nom est EGAL à 'Bike'

Je te laisse réfléchir.

#22 Re : Installation » Recherche en plein texte - config. des repertoires de dictionnaires » 28/02/2022 14:22:06

Une piste...

Comme il y a un espace entre Program et Files

Est-ce le nom du chemin complet est bien entre guillemets qlq part...

#23 Re : Sécurité » lo_compat_privileges » 13/01/2022 18:35:21

J'ai trouvé...

Voici la ligne GRANT correcte.

        EXECUTE 'GRANT SELECT ON LARGE OBJECT ' || oid_data.id || ' TO ' || user_for_grant;

#24 Re : Sécurité » lo_compat_privileges » 13/01/2022 14:28:16

Parfait ça fonctionne.

Merci.

Mais il faut GRANT individuellement pour chaque oid

J'essaie de faire une petite fonction pour le faire sur tous les oid d'un coup mais j'ai une erreur de syntaxe bizarre

--------------- SQL ---------------

CREATE OR REPLACE FUNCTION public.grant_select_oid (
  user_for_grant text
)
RETURNS void AS
$body$
DECLARE
	oid_data	RECORD;
BEGIN
	FOR oid_data IN
    	
	SELECT fichier_data AS "id"
	FROM articles_fichiers
        WHERE fichier_data IS NOT NULL
	UNION
	SELECT fichier_data_mini AS "id"
	FROM articles_fichiers
        WHERE fichier_data_mini IS NOT NULL
        LIMIT 10

	LOOP
		GRANT SELECT ON LARGE OBJECT oid_data.id TO user_for_grant; 
--		RAISE NOTICE 'user = %, oid = %', user_for_grant, oid_data.id;
	END LOOP;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
PARALLEL UNSAFE
COST 100;


---------- MESSAGE D'ERREUR --------

ERREUR:  erreur de syntaxe sur ou près de « oid_data »
LINE 15:   GRANT SELECT ON LARGE OBJECT oid_data.id TO user_for_grant...
                                        ^

Une idée ?

Merci d'avance.

#25 Sécurité » lo_compat_privileges » 13/01/2022 10:12:16

genamiga
Réponses : 3

Bonjour,


Mais je suis obligé d'activer l'option lo_compat_privileges pour qu'un utilisateur "limité" puise lire les données des "Large Objects". Malheureusement l'activation de cette option ignore les restrictions d'accès en lecture ET en écriture...

L'utilisateur a pourtant le droit de lire colonnes oid correspondantes mais cela ne suffit pas.

J'imagine qu'il faut lui donner le droit de lire les colonnes correspondantes aux données des "Large Objects" dans les tables système.

Cela me permettrais de ne pas devoir activer cette option et autoriser la lecture seule des "Large Objects" des mais je ne vois pas comment faire...


Merci d'avance.

Pied de page des forums

Propulsé par FluxBB