Vous n'êtes pas identifié(e).
Cette commande permet d'utiliser pgadmin4 en container sur un cluster pg en local
sudo docker run \
-d \
--rm \
--net=host \
-e "PGADMIN_DEFAULT_EMAIL=sql.design.company@gmail.com" \
-e "PGADMIN_DEFAULT_PASSWORD=secret" \
--name pgadmin_local dpage/pgadmin4
Mais je ne suis pas encore arrivé à avoir 2 pgadmin4 sur docker, un sur pg sur docker et un sur pg sur le host...
Encore moins, à avoir un pgadmin4 sur docker avec 2 clusters...
Ars longa vita brevis
@rjuju & @dverite
Effectivement, le problème se trouve au niveau de la configuration de Docker,
Dés que je trouve qqch, je vous le ferai savoir.
Un grand merci à tous deux pour votre attention.
Quand je crée le serveur dans pgadmin4 :
Host : 127.0.0.1
Port: 5433 (donné par conninfo. j'avais installé le container pg avant d'installer pg en local)
Maintenance db, username, password : as usual...
et puis :
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5433?
Avoir pgadmin4 sur docker qui permet de travailler avec plusieurs clusters pg qui tournent en docker ou non irait à l'encontre de la philosophie docker ?
Merci pour votre attention
en bref :
Pgadmin4 PostgreSQL OK?
---------------------------------------------
Docker Docker Yes
Docker Local No
@dverite
il y a sur le net un grand nombre de sites qui vous donnent votre adresse IP (ex : http://www.mon-ip.com/)
@rjuju
c'est ce que je fais pour la version de pg qui est sur docker et ça marche. Mais pour la version de pg en local (installée avec apt-get), 127.0.0.1 ou l'adresse donnée par l'utilitaire ci-dessus, ça ne marche pas.
cf https://sqldesign.blog/2018/12/23/how-t … nt-volume/
@dverite & @rjuju
le pg_hba.conf est-il correct ? faudrait-il faire qqch au niveau de linux ?
merci pour votre attention et bonne année
Bonjour,
J'ai installé PostgreSQL 11 dans un conteneur Docker et pgadmin4 dans un autre.
Voir https://sqldesign.blog/2018/12/24/how-t … th-docker/
Ça fonctionne bien.
J'ai installé PostgreSQL 11 en local (Ubuntu 16.04)
Mais je ne peux pas accéder au cluster pg local à partir de pgadmin4 dans mon conteneur.
Unable to connect to server:
could not connect to server: Operation timed out
Is the server running on host "217.39.18.97" and accepting
TCP/IP connections on port 5433?
Adresse IP du local (donnée par google): 217.39.18.97
Adresse IP du conteneur pgadmin4 (donnée par docker inspect): 172.17.0.3
Port du cluster pg local (donné par \ conninfo): 5433
dans pg_hba:
host all all 0.0.0.0/0 md5
Que puis-je faire ?
Bonne année
Merci pour votre attention.
J'ai enlevé
SET client_encoding = 'LATIN1'
et tout s'est bien passé.
Bonne année à tous dalibiens
md
sqldesign.blog
Bonjour,
Je voudrais installer des samples, world par exemple.
Après avoir créé la db, j'essaie avec
psql -U mchl world < world.sql
cat world.sql | psql -U mchl world
Mais dans les deux cas :
COPY city (id, name, countrycode, district, population) FROM stdin;
1 Kabul AFG Kabol 1780000
...
fait boum !
Comment faire ?
Bien à vous tous
Vous avez raison. Le query
SELECT a.rolname AS "owner",
n.nspname AS "schema",
p.proname AS "name",
pg_get_functiondef(p.oid) AS "definition"
FROM pg_language AS l
JOIN pg_proc AS p
ON p.prolang = l.oid
JOIN pg_namespace AS n
ON p.pronamespace = n.oid
JOIN pg_authid AS a
ON a.oid = p.proowner
WHERE l.lanname = 'plpgsql'
ORDER BY "schema" ASC,
"name" ASC
m'a donné les informations nécessaires.
Merci à vous
Bonjour,
Pour ma part, j'écris mes programmes en minuscules.
Mais pgadim4 reformatte en mettant les mots-clés en majuscule.
N'y a-t-il pas moyen de dire à pgadmin4 de laisser le programmeur libre de ses choix ?
Merci pour votre attention et bonne journée
pg_ctl restart
J'avais effacé les fichiers PG_10*
J'avais restarté la procédure upgrade.
Tout allait bien mais tout à la fin j'ai reçu des messages horribles.
Et ni la 9.5 ni la 10 n'étaient activés.
J'ai effacé la 9.5 et la 10.
Je réinstalle la 10...
Pourriez-vous me donner un lien vers une page qui expllque comment faire une migration 9.5 (ou .6) vers 10 avec des outils 100% PostgreSQL ?
Merci pour votre attention mais je ne vois pas ce que je dois faire.
Devrais-je effacer les fichiers data dans les tablespaces ?
Mais où irai-je donc chercher les données après que le cluster 10 aura été initialisé et le cluster 9.5 aura été désactivé.
Je croyais que la procédure d'upgrade laissait les données en place.
Que faire ?
Merci pour votre prompte réponse.
Voici l'output de 'sudo pg_ugradecluster 9.5 main' (fin)
.../...
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
ERROR: directory "/home/rubin/Production/costs_pg_data/PG_10_201707211" already in use as a tablespace
ERROR: directory "/home/rubin/Production/contacts_pg_data/PG_10_201707211" already in use as a tablespace
ERROR: directory "/home/rubin/Production/ADC_pg_data/PG_10_201707211" already in use as a tablespace
ERROR: directory "/home/rubin/Production/RSC_pg_data/PG_10_201707211" already in use as a tablespace
ERROR: directory "/home/rubin/Production/sdbx_pg_data/PG_10_201707211" already in use as a tablespace
ERROR: tablespace "adc" does not exist
ERROR: database "adc_pg" does not exist
ERROR: database "adc_pg" does not exist
ERROR: database "adc_pg" does not exist
ERROR: database "adc_pg" does not exist
ERROR: database "adc_pg" does not exist
ERROR: tablespace "contacts" does not exist
ERROR: database "contacts" does not exist
ERROR: database "contacts" does not exist
ERROR: database "contacts" does not exist
ERROR: tablespace "costs" does not exist
ERROR: database "costs" does not exist
ERROR: database "costs" does not exist
ERROR: database "costs" does not exist
ERROR: database "costs" does not exist
ERROR: database "costs" does not exist
ERROR: tablespace "sdbx" does not exist
ERROR: database "kernel" does not exist
ERROR: database "kernel" does not exist
ERROR: database "kernel" does not exist
ERROR: database "kernel" does not exist
ERROR: database "kernel" does not exist
ERROR: tablespace "rsc" does not exist
ERROR: database "rsc_pg" does not exist
ERROR: database "rsc_pg" does not exist
ERROR: database "rsc_pg" does not exist
ERROR: database "rsc_pg" does not exist
ERROR: database "rsc_pg" does not exist
ERROR: tablespace "sdbx" does not exist
ERROR: database "sdbx_ariel" does not exist
ERROR: database "sdbx_ariel" does not exist
ERROR: database "sdbx_ariel" does not exist
ERROR: database "sdbx_ariel" does not exist
ERROR: tablespace "sdbx" does not exist
set_config
------------
(1 row)
\connect: FATAL: database "adc_pg" does not exist
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Error during cluster dumping, removing new cluster
Voici les tablespaces :
postgres=# \db
List of tablespaces
Name | Owner | Location
------------+----------+-----------------------------------------
adc | rubin | /home/rubin/Production/ADC_pg_data
contacts | rubin | /home/rubin/Production/contacts_pg_data
costs | rubin | /home/rubin/Production/costs_pg_data
pg_default | postgres |
pg_global | postgres |
rsc | rubin | /home/rubin/Production/RSC_pg_data
sdbx | rubin | /home/rubin/Production/sdbx_pg_data
(7 rows)
Et voici le lien entre les databases et les tablespaces :
Name | Tablespace
--------------+------------
OfficeMail | pg_default
adc_pg | adc
contacts | contacts
costs | costs
kernel | sdbx
postgres | pg_default
rsc_pg | rsc
sdbx_ariel | sdbx
sdbx_micheld | sdbx
template0 | pg_default
template1 | pg_default
test | pg_default
Bonjour,
J'utilise la méthode suivante : https://gist.github.com/mdesantis/ebab3 … 894ca0cde2 sur Ubuntu 16.04
Elle a bien marché sur un de mes serveurs.
Mais quand je l'ai appliquée à un serverur où j'ai créé des tablespaces, je reçois des messages tels que
...
ERROR: tablespace "rsc_pg" does not exist
ERROR: database "rsc" does not exist
ERROR: database "rsc" does not exist
ERROR: database "rsc" does not exist
...
Le cluster 9.5 reste actif mais le 10 n'est pas créé.
Je n'ai pas trouvé grand-chose sur le net. Que faire ?
Merci pour votre attention,
m
Je comprends à présent. Merci pour vos explications.
Mais si on se connecte à la db postgres, n'y aurait-il pas moyen d'exécuter ces commandes en faisant comprendre à la function qu'il ne s'agit pas d'une transaction.
Par ailleurs, un grand merci à Dalibo, pour la publication des formations !
@gleu
Je suis heureux qu'une telle tragédie ne vous fasse pas perdre le sourire...
Pourriez-vous me dire en deux mots les raisons pour lesquelles la chose est impossible ?
Il me souvient d'avoir eu des problèmes similaires en Oracle (il y a longtemps).
Par ailleurs, un grand merci à Dalibo pour l'organisation de certifications !
C'est un grand pas en avant !
Bonjour,
J'ai une fonction qui, entre autres, droppe une db et la recrée mais je reçois un message d'horreur !
CREATE OR REPLACE FUNCTION public.recreate_sdbx_user(
pg_user_name text)
RETURNS boolean
...
sql_stmt = 'drop database if exists sdbx_' || pg_user_name;
execute sql_stmt;
...
sql_stmt = 'create database sdbx_'
|| pg_user_name
|| ' template sdbx_generic '
|| ' tablespace sdbx;'
execute sql_stmt;
...
et je reçois le message
DROP DATABASE cannot run inside a transaction block
Que faire ,
Merci pour votre attention
ERRATUM
INSERT INTO "FONDATION" (k, l, "Num_support_Code_LIT") VALUES ('m', 'n', "Num_support_Code_LIT");
Le premier Num_support_Code_LIT est le nom de la colonne FK de FONDATION.
Et le second est la valeur de la PK de SUPPORT.
Quand vous faites un insert, il est est inutile de spécifier la PK car sa valeur lui sera donnée automatiquement par le serial.
Vous faites
INSERT INTO "SUPPORT" (x, y, z) VALUES ('a', 'b', 'c') RETURNING "Num_support_Code_LIT" ;
INSERT INTO" FONDATION" (k, l) VALUES ('m', 'n', "Num_support_Code_LIT");
La PK de SUPPORT est un serial mais la FK dans FONDATIONS est un integer qui ne s'incrémente pas automatiquement !
N'oubliez pas les " si vous mettez des majuscules dans les identifiants.
Comment faire des jointures entre tables en passant par des requêtes SQL ?
C'est tout un art !
Il faut bien comprendre les dépendances foncionnelles, la 3ième forme normale, savoir que les PKs et les FKs doivent être des integer SERIAL...
Un petit cours de logique mathématique sur le calcul des prédicats fait beaucoup de bien !
Et ensuite travailler dur !
Bien à vous, Madame EvaNouNou
Bonjour,
La Query By Example a disparu, me semble-t-il, de pgadmin4.
Pourriez-vous me conseiller un logiciel, même propriaitaire qui pourrait servir d'interface utilisateur ?
Il ne faut pas un outil d'administration. Un logiciel cool et sympa pour voir les données et faire des requêtes suffira !
Merci pour votre attention
@gleu
Pourriez-vous préciser votre propos ?
Soit une base de données D avec deux tables foreign x et y qui proviennent de la base de données E.
Vous dites que "la jointure peut être envoyée au serveur distant".
Comment ? Par quel mécanisme ?