Suite

ArcSDE 10 et PostgreSQL 8.3 vs 8.4

ArcSDE 10 et PostgreSQL 8.3 vs 8.4


Nous avons récemment mis à niveau notre instance ArcSDE 9.3 vers ArcSDE 10. J'espérais mettre à niveau postgresql 8.3 vers 8.4 en même temps. Bien qu'ArcSDE 10 prenne en charge la version 8.4, il s'avère que les assistants ArcSDE ne le font pas. Tout doit être fait via la ligne de commande. J'ai décidé de m'en tenir à la version 8.3 juste pour simplifier les choses. Est-ce que je rate quelque chose ? Quelqu'un a-t-il des expériences avec 8.3 vs 8.4 dans ArcSDE, si oui, qu'en pensez-vous ?


Êtes-vous avec la géométrie postGIS ou ESRI?


Bien que je ne puisse pas vous aider sur la comparaison des fonctionnalités, je vois qu'il existe des scripts pour faciliter le processus de mise à niveau.

http://wiki.debian.org/DebianGis/UpdatingPostGIS


Mise à niveau de Postgre 8.4 vers 9.1 sur Ubuntu (Linux clé en main)

J'essaie de faire fonctionner Postgre 9.1 car j'ai besoin des fonctionnalités disponibles dans la version 2.0 de PostGIS. Turnkey Linux propose une appliance Postgre 8.4 qui fonctionne très bien et intègre même PostGIS. mais ce n'est que la version 1.2.

J'ai suivi ce guide qui montrait essentiellement comment je pouvais installer 9.1 via apt-get, ce qui semble avoir fonctionné : http://netadminlinux.blogspot.com/2011/11/installing-postgresql-91-on-ubuntu-1104.html

Mon problème maintenant, c'est que même si les versions 8.4 et 9.1 sont installées, il semble que je ne puisse accéder qu'à la version 8.4. J'ai installé pgadmin3, mais je ne sais pas comment y accéder puisque l'appliance clé en main par défaut est configurée pour héberger pgadmin2.

dans /etc/init.d/ il y a deux entrées, postgres-8.4. et postgres. Je crois que la seconde est l'instance 9.1, et je peux même la démarrer avec /etc/init.d/postgres start. J'ai essayé d'arrêter l'instance 8.4, puis de démarrer l'instance 9.1. mais quand j'essaye d'utiliser la ligne de commande psql pour accéder au serveur, j'obtiens le message suivant :

psql : impossible de se connecter au serveur : aucun fichier ou répertoire de ce type. Le serveur fonctionne-t-il localement et accepte-t-il les connexions sur le socket de domaine Unix "/var/run/postgresql/.s.PGSQL.5432" ?

Que dois-je faire sur ma nouvelle instance de 9.1 pour qu'elle s'exécute ? Quelles sont les étapes post-installation que je semble avoir manquées ?


Postgres95

En 1994, Andrew Yu et Jolly Chen ont ajouté un interpréteur de langage SQL à POSTGRES . Sous un nouveau nom, Postgres95 a ensuite été publié sur le Web pour trouver sa propre voie dans le monde en tant que descendant open source du code POSTGRES Berkeley original.

Le code Postgres95 était complètement ANSI C et sa taille a été réduite de 25 %. De nombreux changements internes ont amélioré les performances et la maintenabilité. La version 1.0.x de Postgres95 a fonctionné environ 30 à 50 % plus rapidement sur le Wisconsin Benchmark par rapport à POSTGRES, version 4.2. Outre les corrections de bugs, les améliorations majeures suivantes ont été apportées :

Un nouveau programme ( psql ) a été fourni pour les requêtes SQL interactives, qui utilisaient GNU Readline . Cela a largement remplacé l'ancien programme de surveillance.

L'interface des grands objets a été remaniée. L'inversion des gros objets était le seul mécanisme de stockage des gros objets. (Le système de fichiers d'inversion a été supprimé.)

Le système de règles au niveau de l'instance a été supprimé. Les règles étaient toujours disponibles en tant que règles de réécriture.


Restauration du dump Postgres 8.3 en 8.4

J'ai besoin de déplacer une base de données PostgreSql de 8.3 Windows à 8.4 sous Linux (Ubuntu Server 12.04).

La restauration est apparemment correcte, mais lorsque j'essaie d'afficher des données dans mon programme, j'obtiens une erreur indiquant que certains caractères ne sont pas pris en charge par l'encodage WIN1252.

La base de données d'origine a ces propriétés :

Codage : WIN1252 LC_CTYPE : English_United States.1252 LC_COLLATE : English_United States.1252

Je peux restaurer la base de données en utilisant LC_CTYPE = "C" et LC_COLLATE = "C", de cette façon j'obtiens les caractères non pris en charge dans mon programme.

Si j'essaye de créer la base de données en utilisant cette commande :

Tout d'abord, comment puis-je laisser mon O.S. inclure cette configuration régionale ?.


Notre blog

Metasploit a utilisé les messages d'erreur donnés par un serveur PostgreSQL pour connaître la version sans avoir à se connecter et à émettre une commande « SELECT version() ». L'article original se trouve sur http://blog.metasploit.com/2010/02/postgres-fingerprinting.html et vaut la peine d'être lu. J'attendrai.

L'idée de base est que parce que la version 3 du protocole Postgres vous donne le fichier et le numéro de ligne dans lequel l'erreur est générée, vous pouvez utiliser les informations pour déterminer quelle version de Postgres est en cours d'exécution, car les numéros de ligne changent d'une version à l'autre. version. En effet, chaque version de Postgres en révèle suffisamment dans son message d'erreur pour l'empreinter. C'était une petite astuce intéressante, et je voulais l'explorer davantage moi-même. La première étape consistait à écrire un script Perl rapide pour se connecter et obtenir la chaîne d'erreur. Le script Metasploit original se concentre sur les tentatives de connexion infructueuses, mais après quelques expérimentations, j'ai trouvé un moyen plus simple d'envoyer un numéro de protocole invalide (Postgres attend "2.0" ou "3.0"). L'envoi d'un paquet de démarrage avec un protocole invalide de « 3.1 » m'a renvoyé la chaîne suivante :

La partie importante de la chaîne était les parties indiquant le numéro de fichier et de ligne :

Dans ce cas, nous pouvons clairement voir que la ligne 1507 de postmaster.c renvoyait l'erreur. Après avoir lancé quelques versions supplémentaires de Postgres et enregistré les numéros de ligne, j'ai constaté que toutes les versions depuis la 7.3 touchaient le même morceau de code de postmaster.c :

Les numéros de ligne étaient définitivement différents selon les versions majeures de Postgres (par exemple, 8.2 contre 8.3), et étaient même parfois différents selon les révisions. Plutôt que de lancer toutes les révisions possibles de Postgres et d'exécuter mon programme dessus, j'ai simplement profité des balises cvs (alias noms symboliques) et j'ai fait ceci :

Cela m'a montré que la chaîne s'est produite à la ligne 1497 de postmaster.c. J'ai créé une instance Postgres et vérifié que le numéro de ligne était le même. À ce stade, il s'agissait simplement de créer un script bash pour récupérer toutes les versions depuis la 7.3 et créer une liste complète des changements de cette ligne d'une version à l'autre.

Une fois cela fait, j'ai tout intégré dans un nouveau script Perl appelé "detect_postgres_version.pl". Voici le script, divisé en morceaux pour explication. Un lien vers l'intégralité du script se trouve en bas de l'article.

Tout d'abord, nous faisons quelques scripts Perl standard et lisons dans le LES DONNÉES section au bas du script, qui répertorie à quelle version le message a changé :

Ensuite, nous autorisons quelques options au script : port et hôte. Nous utiliserons par défaut un socket Unix si l'hôte n'est pas défini, et par défaut le port 5432 si aucun n'est indiqué :

Nous sommes prêts à nous connecter, en utilisant le module très standard IO::Socket. Si l'hôte commence par une barre oblique, nous supposons qu'il s'agit du répertoire unix_socket_directory et remplaçons l'emplacement par défaut « / tmp » :

Nous sommes maintenant prêts à envoyer quelque chose sur notre nouveau socket. Postgres s'attend à ce que le paquet de démarrage soit dans un certain format. Nous suivrons ce format, mais lui enverrons un numéro de protocole invalide, 3.1. Le reste des informations n'a pas vraiment d'importance, mais nous lui dirons également que nous nous connectons en tant qu'utilisateur "pg". Enfin, nous relisons le message, extrayons le fichier et le numéro de ligne et les recrachons à l'utilisateur :

Enfin, nous essayons de faire correspondre le nom de fichier et le numéro de ligne que nous avons reçus à la version de PostgreSQL dont il provient. Si le fichier n'est pas reconnu, ou le numéro de ligne n'est pas connu, nous renflouons plus tôt :

S'il n'y a qu'un seul résultat pour cette ligne et ce numéro de fichier, nous pouvons indiquer ce que c'est et quitter.

Dans la plupart des cas, cependant, nous ne connaissons pas la version exacte jusqu'à la révision après le deuxième point, nous indiquerons donc quelle est la version principale et toutes les révisions possibles :

La seule chose qui reste est la section DATA, que je vais montrer ici pour être complète :

(Parce que la version 9.0 n'est pas encore publiée, son numéro de ligne peut encore changer.)

J'ai trouvé que cette erreur de protocole particulière était bonne car il n'y a pas de chevauchement des numéros de ligne entre les versions principales. Sur les quelque 125 versions différentes publiées depuis la 7.3.0, seules 6 sont suffisamment uniques pour identifier la révision exacte. C'est correct pour cette itération du script. Si vous vouliez connaître la révision exacte, vous pouvez essayer d'autres erreurs, comme une connexion invalide, comme le fait le code metasploit.

Le code complet peut être lu ici : detect_postgres_version.pl

Je donnerai une conférence plus tard cette semaine à la PgCon 2010, alors dites bonjour si vous me voyez là-bas. Je ferai probablement aussi un discours éclair.


2 réponses 2

Réponse simple : vous devez pg_dump, installer la nouvelle version 8.4, puis charger.

Pas de réponse si simple - vous pouvez utiliser pg_migrator pour effectuer une mise à niveau des fichiers binaires sur place, mais je ne l'ai pas encore testé.

J'ai essayé pg_migrator et :

La dernière version (8.4.11) n'est pas appropriée pour mon goût de la migration - elle permet la migration vers la 8.5 mais j'ai besoin de la migration vers la 8.4.2.

Exécution de contrôles de cohérence Vérification de l'ancien répertoire de données (c:program filespostgresql8.3data)ok Vérification du nouveau répertoire de données (c:program filespostgresql8.4data)ok

Ce binaire a été construit à l'aide de sources PostgreSQL 8.5, il doit être construit à l'aide de sources PostgreSQL 8.4 pour correspondre au nouveau cluster.

mais. il n'y a aucune information sur la page d'accueil de pg_migrator quelle version de migrator est pour quelle version cible de Postgres. J'ai téléchargé et installé la version 8.4.4 et la version semble correcte, mais voici ce que je dis :

code d'erreur win32 mappé 2 à 2 Les anciens et les nouveaux types de stockage date/heure de pg_controldata ne correspondent pas.

Vous devrez reconstruire le nouveau serveur avec configure --disable-integer-datetimes ou obtenir des binaires de serveur construits avec ces options.

Donc, ce n'est pas si automatique pour moi. Je pense que le vieux classique pg_dump / restore fera mieux.


Présentation générale de MySQL et PostgreSQL

Intégrez vos données dès aujourd'hui !

Essayez Xplenty gratuitement pendant 14 jours. Pas de carte de crédit nécessaire.

MySQL : Présentation générale

En tant que SGBD le plus populaire au monde - avec 39% des développeurs l'utilisant en 2019 - MySQL est un système de gestion de base de données relationnelle rapide, fiable et polyvalent. Bien qu'il ne dispose pas des fonctionnalités étendues de PostgreSQL, il convient parfaitement à un large éventail d'applications, en particulier les applications Web.

En fait, MySQL est le choix de prédilection pour les applications Web évolutives, en partie parce qu'il est standard dans la pile LAMP (une suite d'applications Web open source composée de Linux, Apache HTTP Server, MySQL et PHP). De plus, les systèmes de gestion de contenu populaires tels que Drupal, Joomla et WordPress reposent sur MySQL, vous pouvez donc trouver MySQL virtuellement. partout sur le Web.

Voici quelques caractéristiques supplémentaires de MySQL :

  • Open source: MySQL est un système de gestion de base de données relationnelle (SGBDR) gratuit et open source.
  • Longue histoire: MySQL est devenu disponible pour la première fois depuis 1995.
  • Maintenu par Oracle : Oracle possède et gère MySQL, et propose des versions premium (payantes) de MySQL avec des services supplémentaires, des plugins propriétaires, des extensions et un support utilisateur.
  • Communauté de soutien : Une communauté dévouée de bénévoles est disponible pour aider au dépannage en cas de besoin.
  • Stable et fiable :Les utilisateurs conviennent que MySQL est un SGBDR très stable tant que vous gardez vos bases de données « en ordre » et effectuez une maintenance régulière.
  • Fonctionnalités MVCC : MySQL propose désormais des fonctionnalités de contrôle de simultanéité multi-versions (MVCC). Une fonctionnalité pour laquelle PostgreSQL est plus connu (nous en parlerons plus en détail ci-dessous).
  • Mises à jour fréquentes : MySQL bénéficie de mises à jour fréquentes avec de nouvelles fonctionnalités et des améliorations de sécurité. La mise à jour la plus récente était la version 8.0.16 le 25 avril 2019.
  • 4,3 étoiles : MySQL a une note de 4,3 étoiles (sur 5 étoiles) à partir de 1 261 avis sur G2Crowd.

MySQL est un système de gestion de base de données open source, gratuit et stable qui peut être utilisé dans des applications de production. Il s'agit d'une base de données légère qui peut être installée et utilisée sur des serveurs d'applications de production avec de grandes applications multi-niveaux ainsi que sur un ordinateur de bureau par les développeurs. Il peut être installé sur toutes les plateformes comme Windows, Linux et Mac. Il est sécurisé et n'est vulnérable à aucune faille de sécurité.

MySQL compte quelques utilisateurs notables :

  • Facebook
  • Google
  • Flickr
  • GitHub
  • Nasa
  • Netflix
  • Spotify
  • Tesla
  • Twitter
  • Uber
  • Marine américaine
  • WeChat
  • Wikipédia
  • Youtube
  • Zappos
  • Zendesk

Pour plus d'informations sur le connecteur MySQL natif de Xplenty, visitez notre page Intégration.

Intégrez vos données dès aujourd'hui !

Essayez Xplenty gratuitement pendant 14 jours. Pas de carte de crédit nécessaire.

PostgreSQL : Caractéristiques générales

PostgreSQL est perçu comme une solution incontournable pour effectuer des opérations de données complexes et volumineuses. C'est parce que PostgreSQL est mieux à même de gérer des situations de base de données extraordinaires (nous en reparlerons plus tard).

PostgreSQL "a plus de fonctionnalités" que les autres systèmes de gestion de bases de données (les utilisateurs en témoignent). De plus, PostgreSQL est extensible « parce que son fonctionnement est piloté par catalogue ». En d'autres termes, il ne stocke pas seulement des informations sur les tables et les colonnes, il vous permet de définir des types de données, des types d'index et des langages fonctionnels.

Les points supplémentaires qui distinguent PostgreSQL sont le fait qu'il est relationnel objet, conforme à ACID, hautement concurrent et offre un support NoSQL (pour être juste, MySQL offre également un support NoSQL depuis la version 8.0).

Enfin, bien que PostgreSQL ne soit pas le système de base de données le plus "populaire" au monde, il a remporté le prix de la base de données de l'année au cours des deux dernières années pour être le SGBD à la croissance la plus rapide.

Voici quelques caractéristiques supplémentaires de PostgreSQL :

  • Open source: PostgreSQL est un système de gestion de base de données relationnelle objet (ORDBMS) gratuit et open source. En tant qu'ORDBMS plutôt que RDBMS, PostgreSQL permet à la fois des fonctionnalités de base de données orientée objet et relationnelle.
  • Personnalisable : Vous pouvez personnaliser PostgreSQL en développant des plugins pour que le SGBD corresponde à vos besoins. PostgreSQL vous permet également d'incorporer des fonctions personnalisées créées avec d'autres langages de programmation tels que C/C++, Java, etc.
  • Longue histoire: PostgreSQL est disponible depuis 1988.
  • Mises à jour fréquentes : La mise à jour PostgreSQL la plus récente était la version 11.3 le 9 mai 2019.
  • Une licence open source libérale : PostgreSQL dispose d'une généreuse licence open source qui vous permet d'utiliser, de modifier et de distribuer le SGBD comme vous le souhaitez.
  • Caractéristiques du MVCC : PostgreSQL a été le premier SGBD à implémenter des fonctionnalités de contrôle de concurrence multi-versions (MVCC).
  • Une communauté solidaire : Une communauté dévouée de développeurs et de bénévoles est disponible pour aider en cas de besoin. Des services d'assistance tiers privés sont également disponibles. La même communauté prend en charge PostgreSQL et met à jour la plate-forme via le PostgreSQL Global Development Group.
  • Évaluation 4.4 étoiles : A un avis de 4,4 étoiles (sur 5 étoiles) à partir de 415 avis sur G2Crowd.

Voici un excellent résumé de PostgreSQL d'un utilisateur de G2Crowd :

PostgreSQL est l'une des options les plus intéressantes dans les bases de données relationnelles open source. C'est gratuit… en plus de ça, il offre aujourd'hui beaucoup d'options avancées. En fait, il est considéré aujourd'hui comme le moteur de base de données le plus avancé. Dans Postgres, il n'est pas nécessaire d'utiliser des verrous de lecture lors d'une transaction, ce qui nous donne une plus grande évolutivité. De plus, cet outil n'est pas géré par une personne ou une entreprise mais par une communauté de développeurs qui nous aide à rendre notre travail plus facile et plus rapide.

  • Pomme
  • BioPharm
  • Cisco
  • Debian
  • Etsy
  • Facebook
  • Fujitsu
  • BDIM
  • Instagram
  • Macmonde
  • chapeau rouge
  • Skype
  • Spotify
  • Microsystème solaire
  • Yahoo

Pour plus d'informations sur le connecteur PostgreSQL natif de Xplenty, visitez notre page Intégration.

Intégrez vos données dès aujourd'hui !

Essayez Xplenty gratuitement pendant 14 jours. Pas de carte de crédit nécessaire.


9.1. Introduction aux serveurs de bases de données

Un serveur de base de données est un service qui fournit les fonctionnalités d'un système de gestion de base de données (SGBD). Le SGBD fournit des utilitaires pour l'administration des bases de données et interagit avec les utilisateurs finaux, les applications et les bases de données.

Red Hat Enterprise Linux 8 fournit les systèmes de gestion de base de données suivants :

  • MariaDB 10.3
  • MariaDB 10.5 - disponible depuis RHEL 8.4
  • MySQL 8.0
  • PostgreSQL 10
  • PostgreSQL 9.6
  • PostgreSQL 12 - disponible depuis RHEL 8.1.1
  • PostgreSQL 13 - disponible depuis RHEL 8.4

ArcSDE 10 et PostgreSQL 8.3 vs 8.4 - Systèmes d'Information Géographique

Lieu le support fait référence à une application respectant les préférences culturelles concernant les alphabets, le tri, le formatage des nombres, etc. PostgreSQL™ utilise les installations locales standard ISO C et POSIX fournies par le système d'exploitation du serveur. Pour plus d'informations, reportez-vous à la documentation de votre système.

23.1.1. Aperçu

La prise en charge des paramètres régionaux est automatiquement initialisée lorsqu'un cluster de bases de données est créé à l'aide de initdb . initdb initialisera le cluster de bases de données avec les paramètres régionaux de son environnement d'exécution par défaut, donc si votre système est déjà configuré pour utiliser les paramètres régionaux que vous souhaitez dans votre cluster de bases de données, vous n'avez rien d'autre à faire. Si vous souhaitez utiliser une autre locale (ou si vous n'êtes pas sûr de la locale sur laquelle votre système est défini), vous pouvez indiquer à initdb exactement quelle locale utiliser en spécifiant l'option --locale. Par exemple:

Cet exemple pour les systèmes Unix définit les paramètres régionaux sur le suédois ( sv ) tel qu'il est parlé en Suède ( SE ). D'autres possibilités peuvent inclure en_US (anglais américain) et fr_CA (canadien français). Si plusieurs jeux de caractères peuvent être utilisés pour un paramètre régional, les spécifications peuvent prendre la forme language_territoire.codeset . Par exemple, fr_BE.UTF-8 représente la langue française (fr) telle qu'elle est parlée en Belgique (BE), avec un codage de jeu de caractères UTF-8.

Les paramètres régionaux disponibles sur votre système sous quels noms dépendent de ce qui a été fourni par le fournisseur du système d'exploitation et de ce qui a été installé. Sur la plupart des systèmes Unix, la commande locale -a fournira une liste des locales disponibles. Windows utilise des noms de paramètres régionaux plus détaillés, tels que German_Germany ou Swedish_Sweden.1252 , mais les principes sont les mêmes.

Parfois, il est utile de mélanger les règles de plusieurs paramètres régionaux, par exemple, utilisez les règles de classement en anglais mais les messages en espagnol. Pour prendre en charge cela, il existe un ensemble de sous-catégories de paramètres régionaux qui ne contrôlent que certains aspects des règles de localisation :

LC_COLLATE Ordre de tri des chaînes
LC_CTYPE Classification des caractères (Qu'est-ce qu'une lettre ? Son équivalent en majuscule ?)
LC_MESSAGES Langue des messages
LC_MONETAIRE Formatage des montants en devise
LC_NUMERIC Formatage des nombres
LC_TIME Mise en forme des dates et des heures

Les noms de catégorie se traduisent par des noms d'options initdb pour remplacer le choix de paramètres régionaux pour une catégorie spécifique. Par exemple, pour définir les paramètres régionaux sur le Canada français, mais utiliser les règles américaines pour le formatage de la devise, utilisez initdb --locale=fr_CA --lc-monetary=en_US .

Si vous voulez que le système se comporte comme s'il n'avait pas de prise en charge des paramètres régionaux, utilisez le nom de paramètre régional spécial C , ou de manière équivalente POSIX .

Certaines catégories de paramètres régionaux doivent avoir leurs valeurs fixes lors de la création de la base de données. Vous pouvez utiliser différents paramètres pour différentes bases de données, mais une fois qu'une base de données est créée, vous ne pouvez plus les modifier pour cette base de données. LC_COLLATE et LC_CTYPE sont ces catégories. Ils affectent l'ordre de tri des index, ils doivent donc rester fixes, sinon les index des colonnes de texte seraient corrompus. (Mais vous pouvez alléger cette restriction en utilisant des classements, comme expliqué dans la Section 23.2.) Les valeurs par défaut de ces catégories sont déterminées lors de l'exécution d'initdb, et ces valeurs sont utilisées lorsque de nouvelles bases de données sont créées, sauf indication contraire dans la commande CREATE DATABASE.

Les autres catégories de paramètres régionaux peuvent être modifiées à tout moment en définissant les paramètres de configuration du serveur qui ont le même nom que les catégories de paramètres régionaux (voir Section 19.11.2 pour plus de détails). Les valeurs choisies par initdb ne sont en fait écrites que dans le fichier de configuration postgresql.conf pour servir de valeurs par défaut au démarrage du serveur. Si vous supprimez ces affectations de postgresql.conf, le serveur héritera des paramètres de son environnement d'exécution.

Notez que le comportement local du serveur est déterminé par les variables d'environnement vues par le serveur, et non par l'environnement d'un client. Par conséquent, veillez à configurer les paramètres régionaux corrects avant de démarrer le serveur. Une conséquence de ceci est que si le client et le serveur sont configurés dans des paramètres régionaux différents, les messages peuvent apparaître dans différentes langues selon leur origine.

Lorsque nous parlons d'hériter de la locale de l'environnement d'exécution, cela signifie ce qui suit sur la plupart des systèmes d'exploitation : LC_COLLATE (ou la variable correspondant à la catégorie respective), LANG . Si aucune de ces variables d'environnement n'est définie, les paramètres régionaux par défaut sont C .

Certaines bibliothèques de localisation de messages examinent également la variable d'environnement LANGUAGE qui remplace tous les autres paramètres régionaux dans le but de définir la langue des messages. En cas de doute, veuillez vous référer à la documentation de votre système d'exploitation, en particulier la documentation sur gettext .


1 réponse 1

Il a été affirmé dans les commentaires que les modérateurs de GIS SE ont joué un rôle majeur dans la clôture des questions par rapport à la communauté, tandis que dans d'autres sites Stack Exchange (Stack Overflow SE, Mathematics SE et Database Administrators SE), c'est le contraire :

Je ne crois pas que nous puissions comparer le SIG à Stack Overflow et aux mathématiques, car ce sont des communautés beaucoup plus grandes que le SIG. Dans de telles communautés, la proportion de questions par modérateur est beaucoup plus importante :

La validation croisée (CV) SE a été ajoutée dans l'analyse, un site auquel j'ai participé et qui a plus ou moins la taille d'un SIG.

Voyons maintenant l'impact de chaque acteur en terminant, avec des métriques standardisées par le nombre de questions posées en 2018 :

Les données ne sont pas concluantes. Les modérateurs de GIS SE résolvent beaucoup plus de questions que les mods dans DBA, et considérablement moins que les mods dans CV. Idem par rapport à la communauté, mais avec un ordre inverse (la communauté DBA se ferme le plus, puis GIS, et CV). Les 3 sites ferment plus de 20% et moins de 30% des questions par rapport aux questions posées en 2018.

Concernant DBA SE, j'ai commencé à y participer récemment en tant que spectateur. Je sais que les gars là-bas sont affectueux pour garder un rapport signal sur bruit élevé dans le contenu, ils promeuvent parfois des campagnes pour purger le contenu avec une grande implication de la communauté (voir ici et ici, par exemple). Cela aide à expliquer pourquoi la « communauté » là-bas se ferme beaucoup plus par rapport aux modérateurs. Ils ont également le rapport le plus faible entre « la file d'attente de votes fermés par communauté » (votes déposés dans la file d'attente d'examen) par « questions fermées par communauté » (4,2), ce qui signifie qu'ils sont plus rigoureux dans l'émission de votes « fermés » (plutôt que « laisser ouvert ' voix) que dans GIS et CV.

À propos de CV SE J'y étais autrefois actif. Le ratio le plus élevé parmi les « files d'attente de votes fermés » (communauté) par « questions fermées » (communauté) correspond au sentiment que j'avais l'habitude d'avoir que de nombreux utilisateurs privilégiaient l'accueil des nouveaux arrivants plutôt que le maintien d'un signal sonore élevé dans le contenu. J'ai l'hypothèse qu'un tel comportement y a eu un effet secondaire qui a surchargé les modérateurs, ceux qui sont chargés de clore la majorité de leurs questions en 2018 (23,2% contre 5,9% de la communauté). De plus, pour les personnes intéressées, CV a le troisième pire taux de réponse (proportion de questions répondues) sur l'ensemble du réseau Stack Exchange (environ 62%, ils reconnaissent que c'est en quelque sorte un problème pour eux, SIG et DBA en ont 80%).

J'ai reconnu que les données utilisées pour cette discussion ne sont pas concluantes, mais mon opinion personnelle est que les modérateurs de GIS SE font du bon travail en ce qui concerne la « clôture » ​​et que la communauté pourrait faire plus.

Parfois, un mod fermera une question de manière unilatérale car peu claire et si je la comprends et que je souhaite publier une réponse (étant donné que le Q est sur le sujet), je reçois généralement un retour positif pour la réouverture. Commenter en faveur de la réouverture expliquant pourquoi il n'aurait pas dû être fermé en premier lieu peut également fonctionner.

Une autre chose que nous pourrions faire mieux à mon avis est de lier questions en double plus fréquemment, il y a beaucoup de dupes non fermés dans les balises populaires, par exemple, r (seulement 2,5% des dupes fermés), postgresql (2,3%) / postgis (2,6%), geoserver (3%), etc. Je considère comme des références) qgis (5,5%), arcgis-desktop (4,7%), lidar (10,4%). Et une chose intéressante à propos de qgis (notre balise supérieure), il a 8 utilisateurs avec des badges de balise dorée (aucune autre balise n'a ce nombre d'"utilisateurs dorés") qui peuvent fermer unilatéralement les questions en tant que doublons, mais aucun d'entre eux n'est le mieux classé dans la clôture file d'attente d'examen (c'est-à-dire que cela n'aide pas à expliquer les 5,5 %).

Le modèle de vote parmi les utilisateurs variera, ce qui est attendu (les gens divergent / ne sont pas d'accord, c'est pourquoi il existe des seuils de décompte des voix avant qu'une décision ne soit prise pour fermer ou laisser une question ouverte). Mais je soupçonne qu'il y a au moins un cas de examen du robot dans GIS SE, ce qui affecte/fausse nos données à ce sujet. Les petits sites n'ont pas d'audits de révision comme ceux de Stack Overflow, et ce serait bien si nous les avions.

Un cliché dans Stack Exchange est que nous sommes tous des volontaires (vrai) tout le monde fait ce qu'il est possible et nous avançons.


Installation de postgresql : le répertoire de données initdb n'est pas vide ?

Initdb ne doit être exécuté qu'une seule fois. Il créera le répertoire où vous conserverez les fichiers de configuration et (généralement) la base de données réelle. Vous l'avez évidemment déjà fait, sinon il n'y aurait pas de pg_hba.conf à éditer.

Donc, n'exécutez pas à nouveau postgresql initdb, sauf si vous effectuez une réinstallation complète.

Si vous effacez complètement et réinstallez une base de données Postgres, lorsque vous exécutez initdb comme :

service postgresql-9.2 initdb -E 'UTF8' --pgdata="/foo/bar/"

vous pouvez rencontrer cette erreur de service :

Le répertoire de données n'est pas vide ! [ÉCHOUÉ]

Pour le réparer (et c'est l'option nucléaire - toutes les données de la base de données sont effacées !)

Sur Amazon Linux (2014-x) :

Sur CentOS (6.x)

Essayez maintenant à nouveau la commande initdb et cela devrait fonctionner cette fois :

service postgresql-9.2 initdb

Sur les systèmes basés sur systemd comme RHEL/CentOS 7 et Fedora, la procédure d'exécution d'initdb est quelque peu différente. Cela n'est plus fait par les scripts d'initialisation (qui n'existent plus), et la nouvelle procédure est beaucoup plus proche des instructions amont.

Vous devez d'abord su à l'utilisateur postgres, puis exécuter initdb ou pg_ctl initdb . Il n'est pas nécessaire de fournir un répertoire de données si vous utilisez une version Red Hat car sa valeur par défaut choisit automatiquement le répertoire de données par défaut /var/lib/pgsql .

Bien sûr, vous ne faites cela qu'une seule fois, lors de la première installation, pour configurer le répertoire de données initial. Vous ne le feriez plus à moins de créer une installation complètement nouvelle ou de restaurer à partir d'un sinistre.


Voir la vidéo: Table Partitioning in Postgres: How Far Weve Come