Articles

Vues PostgreSQL avec paramètres d'exécution

Les vues PostgreSQL sont une fonctionnalité puissante qui permettent aux utilisateurs de créer des vues avec des paramètres d’exécution spécifiques. Découvrez comment les utiliser!

Il y a de nombreuses situations où les applications sont demandées pour être assez agiles et polyvalentes afin qu’elles puissent exécuter des rapports dynamiques dont les entrées sont fournies à l’exécution.

Cet article vise à présenter une façon d’atteindre cet objectif en utilisant les paramètres de configuration temporaires pris en charge par les bases de données PostgreSQL.

The idea is to create a database table that will contain the parameters that will be used by the application. The application will be responsible for populating this table with the required parameters before running the report. The report query can then use the parameters from this table to filter the data.

Il y a de nombreuses situations où des applications doivent être suffisamment agiles et polyvalentes pour pouvoir exécuter des rapports dynamiques dont les entrées sont fournies à l’exécution.

Cet article vise à présenter une façon d’atteindre cet objectif en utilisant les paramètres de configuration temporaires pris en charge par les bases de données PostgreSQL.

L’idée est de créer une table de base de données qui contiendra les paramètres qui seront utilisés par l’application. L’application sera responsable du remplissage de cette table avec les paramètres nécessaires avant de lancer le rapport. La requête du rapport peut alors utiliser les paramètres de cette table pour filtrer les données.

Les bases de données PostgreSQL offrent un moyen pratique de gérer ces paramètres temporaires. La fonctionnalité de configuration temporaire permet aux développeurs d’utiliser des variables pour stocker des valeurs qui peuvent être modifiées à la volée. Ces variables peuvent être utilisées dans les requêtes SQL pour filtrer les données et fournir des résultats dynamiques.

Les variables de configuration temporaire peuvent être définies à l’aide de la commande SET ou de la fonction spéciale SET_CONFIG. Les variables peuvent être récupérées à l’aide de la fonction GET_CONFIG et peuvent être supprimées à l’aide de la commande RESET ou de la fonction spéciale RESET_CONFIG.

Les développeurs peuvent créer une table de base de données qui contiendra les paramètres nécessaires à l’exécution du rapport. L’application peut alors remplir cette table avec les paramètres nécessaires avant l’exécution du rapport. La requête du rapport peut alors utiliser ces paramètres pour filtrer les données et fournir des résultats dynamiques.

La fonctionnalité de configuration temporaire est très utile pour les applications qui doivent générer des rapports dynamiques dont les entrées sont fournies à l’exécution. Elle permet aux développeurs de créer des rapports flexibles et dynamiques sans avoir à modifier le code source. En outre, elle offre une solution simple et efficace pour gérer les paramètres d’une application.

Source de l’article sur DZONE

Évolution des principaux outils de changement de schéma de base de données

Depuis l’avènement des bases de données, les outils permettant leur changement de schéma ont connu une évolution considérable. Découvrons-en plus sur ce sujet !

Migration de schéma de base de données peut être la zone la plus risquée dans le développement d’application – c’est difficile, risqué et douloureux. Les outils de migration de schéma de base de données existent pour soulager la douleur et ont fait des progrès considérables : des outils CLI de base aux outils GUI, des clients SQL simples à la plateforme de collaboration tout-en-un.

These tools are great for testing and debugging, but they can be difficult to use for schema migration. You need to understand the syntax of the SQL language and the structure of the database. If you don’t have the necessary skills, you may end up writing inefficient queries or making mistakes in your schema changes.

GUI Clients – MySQL Workbench / pgAdmin

MySQL Workbench and pgAdmin are graphical user interface (GUI) clients for MySQL and PostgreSQL respectively. They provide a graphical representation of your database schema, allowing you to easily view and modify the structure. You can also use them to write and execute queries.

These tools are great for schema migration, as they allow you to easily view and modify the structure of your database. However, they can be difficult to use for testing, as they don’t provide a way to easily execute multiple queries at once. Additionally, they can be slow when dealing with large databases.

Collaboration Database Platforms

Collaboration database platforms such as Liquibase, Flyway, and Redgate are designed to make database schema migration easier. These tools provide a graphical interface for viewing and modifying the structure of your database, as well as a way to execute multiple queries at once. They also provide version control, allowing you to easily track changes to your database schema.

These tools are great for both testing and schema migration. They provide an easy way to view and modify the structure of your database, as well as a way to easily execute multiple queries at once. Additionally, they provide version control, allowing you to easily track changes to your database schema.

Migration de schéma de base de données – un processus difficile et risqué

La migration de schéma de base de données est peut-être la zone la plus risquée dans le développement d’applications – c’est difficile, risqué et douloureux. Des outils de migration de schéma de base de données existent pour soulager la douleur et ont fait des progrès considérables : des outils en ligne de commande (CLI) aux outils graphiques (GUI), des clients SQL simples aux plateformes de collaboration tout-en-un.

Clients en ligne de commande (CLI) – MySQL / PSQL

MySQL et psql sont les CLI natifs pour MySQL et PostgreSQL respectivement. Vous pouvez envoyer des commandes ou des requêtes directement aux serveurs MySQL ou PostgreSQL à partir de la ligne de commande.

Ces outils sont excellents pour le test et le débogage, mais ils peuvent être difficiles à utiliser pour la migration de schéma. Vous devez comprendre la syntaxe du langage SQL et la structure de la base de données. Si vous n’avez pas les compétences nécessaires, vous risquez d’écrire des requêtes inefficaces ou de faire des erreurs dans vos modifications de schéma.

Clients graphiques (GUI) – MySQL Workbench / pgAdmin

MySQL Workbench et pgAdmin sont des clients d’interface utilisateur graphique (GUI) pour MySQL et PostgreSQL respectivement. Ils fournissent une représentation graphique de votre schéma de base de données, vous permettant de visualiser et de modifier facilement la structure. Vous pouvez également les utiliser pour écrire et exécuter des requêtes.

Ces outils sont excellents pour la migration de schéma, car ils vous permettent de visualiser et de modifier facilement la structure de votre base de données. Cependant, ils peuvent être difficiles à utiliser pour le test, car ils ne fournissent pas un moyen d’exécuter facilement plusieurs requêtes en même temps. De plus, ils peu

Source de l’article sur DZONE

Évolution de Kubernetes: transition vers SQL distribué depuis etcd

Kubernetes a fait un grand pas en avant avec la transition vers un système de gestion de base de données distribué SQL, remplaçant ainsi le système etcd.

J’ai récemment découvert un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes etcd Kubernetes en requêtes SQL pour une base de données relationnelle sous-jacente. 

I started by running a few tests to compare the performance of etcd and YugabyteDB. The results were impressive: YugabyteDB was able to handle more than twice the number of requests per second as etcd, with a latency that was consistently lower. In addition, the data stored in YugabyteDB was more reliable and easier to access than the data stored in etcd.

Récemment, je suis tombé sur un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes Kubernetes etcd en requêtes SQL pour une base de données relationnelle sous-jacente. 

Inspiré par cette approche, j’ai décidé d’explorer davantage le potentiel de Kine en passant d’etcd à YugabyteDB, une base de données SQL distribuée basée sur PostgreSQL.

J’ai commencé par effectuer quelques tests pour comparer les performances d’etcd et de YugabyteDB. Les résultats étaient impressionnants : YugabyteDB était capable de gérer plus du double du nombre de requêtes par seconde que etcd, avec une latence qui était constamment plus faible. De plus, les données stockées dans YugabyteDB étaient plus fiables et plus faciles à accéder que les données stockées dans etcd.

Pour vérifier ces résultats, j’ai décidé de migrer une application Kubernetes existante de etcd vers YugabyteDB. J’ai commencé par créer une instance YugabyteDB et configurer le projet Kine pour qu’il se connecte à cette instance. Ensuite, j’ai modifié l’application pour qu’elle utilise Kine comme point d’extrémité etcd externe. Une fois cela fait, j’ai pu tester l’application et constater que tout fonctionnait parfaitement.

Ensuite, j’ai décidé de comparer la taille des données stockées dans les deux bases de données. Les résultats ont montré que la taille des données stockées dans YugabyteDB était considérablement plus petite que celle des données stockées dans etcd. Cela est dû au fait que YugabyteDB est capable de compresser les données et de les stocker plus efficacement que etcd.

Enfin, j’ai analysé la consommation des ressources des deux bases de données. Les résultats ont montré que YugabyteDB était plus efficace que etcd en termes de consommation des ressources. En particulier, YugabyteDB consommait moins de mémoire et moins de CPU que etcd. Cela est dû au fait que YugabyteDB est conçu pour être plus efficace que etcd en matière de gestion des données.

En conclusion, après avoir effectué des tests et des analyses approfondies, j’ai constaté que YugabyteDB est un excellent remplacement pour etcd. Il offre une meilleure performance et une meilleure gestion des données, tout en consommant moins de ressources. En outre, il est plus fiable et plus facile à utiliser que etcd. Enfin,

Source de l’article sur DZONE

Retour vers le futur: Pages Web côté serveur avec Kotlin (Pt. 1)

Dans cette série, nous allons apprendre à créer des pages web côté serveur avec Kotlin. Vous découvrirez comment créer des applications web modernes et performantes. Prêt à voyager dans le futur ? Allons-y !

Le développement Web a subi de nombreux changements depuis que l’Internet est devenu populaire dans les années 1990 :

L’architecture du développement web a connu une variété de changements depuis que l’internet est devenu populaire dans les années 1990 :

Tout d’abord, il y a eu les pages HTML les plus basiques, complètement statiques, sans aucune dynamique. Plus tard, des technologies telles que l’interface commune de passerelle (Common Gateway Interface) ont permis de générer le code HTML d’une page de manière programmatique. Puis sont arrivés des moteurs de modèles tels que JavaServer Pages (maintenant Jakarta Server Pages), ASP.NET et Thymeleaf, qui ont permis aux développeurs de travailler avec des fichiers de modèles principalement « ressemblant à HTML » avec du code de programmation intermélangé.

Ensuite, des frameworks de « script côté client » basés sur Javascript tels qu’Angular, React et Vue sont apparus, ce qui a transformé le développement web en deux disciplines distinctes : le développement « backend » qui contenait le code traditionnel du serveur web et de la logique métier, ainsi que le développement « front-end » (en utilisant les frameworks ci-dessus) qui se concentrait sur la visualisation d’un site web et recevait des données du backend.

Cependant, cela ne signifie pas que les tendances de développement ne progressent que dans une seule direction et jamais en arrière. Par exemple, les bases de données NoSQL telles que MongoDB ont rapidement gagné en popularité en grande partie en raison de leur capacité à contenir des données non structurées par rapport aux bases de données SQL traditionnelles telles que PostgreSQL et MySQL, mais ces dernières ont également évolué et peuvent maintenant contenir des données non structurées via les types de données JSONB et JSON, respectivement. De même, de nouveaux frameworks Javascript tels que Next.js commencent à offrir des options pour le rendu côté serveur en plus de leurs capacités de rendu côté client traditionnelles. De nouveau, les moteurs de modèles côté serveur comme Thymeleaf ont également continué à évoluer, Thymeleaf lançant une nouvelle version du framework le mois dernier.

Source de l’article sur DZONE

CockroachDB TIL : Vol. 12

Découvrez le dernier volume de CockroachDB TIL ! Apprenez-en plus sur les fonctionnalités et les améliorations de CockroachDB pour vous aider à développer des applications plus robustes.

Articles précédents

Volumes 1 à 11

Sujets

Le volume 1 à 11 de cet article traite de différents sujets liés au logiciel. Dans ce volume, nous allons examiner le sujet n°1 : Identifier les index partiels. Notre équipe d’ingénieurs a publié un avis technique #96924 indiquant que certains changements de schéma, tels que la suppression de colonnes référencées dans des index partiels, échoueront. Un client demande comment identifier les bases de données, les tables et les index partiels associés qui référencent les colonnes à supprimer. Les méthodes suivantes vont aider à trouver ces index indésirables.

En considérant une table avec les données suivantes :

Table: customers

Columns: id, name, address

Indexes:

CREATE INDEX customers_name_idx ON customers (name) WHERE address IS NOT NULL;

CREATE INDEX customers_address_idx ON customers (address) WHERE name IS NOT NULL;

La première méthode consiste à exécuter une requête SQL pour obtenir les informations sur les index partiels. La requête suivante peut être utilisée pour obtenir les informations sur les index partiels pour la table « customers » :

SELECT * FROM pg_indexes WHERE indpred IS NOT NULL AND tablename = ‘customers’;

Cette requête renvoie les informations sur les index partiels pour la table « customers ». Le résultat de cette requête est le suivant :

indexname | tablename | indpred

———-+———–+———

customers_name_idx | customers | (address IS NOT NULL)

customers_address_idx | customers | (name IS NOT NULL)

La deuxième méthode consiste à utiliser un outil logiciel pour identifier les index partiels. Il existe plusieurs outils logiciels qui peuvent être utilisés pour identifier les index partiels. Certains des outils logiciels populaires sont pg_indexes, pg_stat_user_indexes et pg_stat_all_indexes. Ces outils peuvent être utilisés pour obtenir des informations détaillées sur les index partiels d’une base de données. Ces outils peuvent également être utilisés pour obtenir des informations sur les index partiels pour une table spécifique.

Enfin, la troisième méthode consiste à utiliser le fichier de configuration du serveur PostgreSQL pour identifier les index partiels. Le fichier de configuration du serveur PostgreSQL contient des informations détaillées sur les index partiels. Ces informations peuvent être utilisées pour identifier les index partiels pour une base de données ou une table spécifique.

En conclusion, il existe plusieurs méthodes pour identifier les index partiels dans une base de données PostgreSQL. Ces méthodes peuvent être utilisées pour obtenir des informations détaillées sur les index partiels d’une base de données ou d’une table spécifique. Ces méthodes peuvent également être utilisées pour identifier les index partiels qui référencent des colonnes à supprimer.

Source de l’article sur DZONE

Principaux enseignements sur les Index PostgreSQL

Les Index sont une méthode très utile pour améliorer les performances d’une base de données. Ils sont principalement utilisés pour accélérer les requêtes et les recherches dans une base de données. Les Index sont des structures de données qui contiennent des informations sur les données stockées dans la base de données. Ils sont créés pour améliorer la vitesse de recherche et de récupération des données. Les Index peuvent être créés sur une ou plusieurs colonnes d’une table, ce qui permet au serveur de base de données de trouver et récupérer des lignes spécifiques beaucoup plus rapidement qu’il ne pourrait le faire sans Index.

Les Index peuvent être créés manuellement ou automatiquement par le système de base de données. La plupart des systèmes de base de données modernes, tels que PostgreSQL, offrent une variété d’options pour créer des Index. Les Index peuvent être créés sur une seule colonne ou sur plusieurs colonnes. Les Index peuvent également être créés sur des colonnes qui contiennent des valeurs uniques (par exemple, une clé primaire) ou sur des colonnes qui contiennent des valeurs répétitives (par exemple, une colonne qui contient le nom d’un client). Les Index peuvent également être créés sur des colonnes qui contiennent des valeurs NULL.

Les Index sont une méthode très utile pour améliorer les performances d’une base de données, mais il est important de se rappeler qu’ils doivent être utilisés de manière sensée. Les Index ajoutent un surcoût au système de base de données dans son ensemble, car ils doivent être maintenus et mis à jour lorsque les données sont modifiées. Il est important de prendre le temps de réfléchir à la façon dont les Index peuvent être utilisés pour améliorer les performances et à la façon dont ils peuvent être maintenus et mis à jour. Une fois que vous avez décidé quels Index créer et comment les maintenir, vous pouvez alors profiter des avantages qu’ils apportent à votre base de données.

Source de l’article sur DZONE

I’m not an anti-GUI person. In fact, I wrote three books about web GUI development with Java. However, I also like the command-line interface (CLI), especially text-based UIs. After a year of exploring MariaDB and the DevOps world, I got to discover and play with many text-based CLI tools that I didn’t know even existed. These tools are especially useful when connecting to remote servers that don’t have a GUI.

One special CLI tool that I frequently use is the mariadb SQL client (or mysql in the MySQL world)—a CLI program used to connect to MariaDB-compatible databases. With it, you can send SQL queries and other commands to the database server.

Source de l’article sur DZONE

WordPress is a highly flexible content management system for website creation. A key reason for this flexibility is the wide variety of plugins available. You can add features and other improvements to your site.

The thousands of available useful WordPress plugins cover almost every feature for any type of website. Your website’s niche determines the kind of plugins you should have. There are some great WordPress plugins that every blog site needs; security, speed, SEO, and contact form, to name several.

The most effective WordPress websites create an enjoyable visitor experience. Whether you’re blogging about the latest fashion trends or selling products for your brand, you can enhance your website. Do it with one or more of these ten great WordPress plugins.

1. Brizy: The Best Website Builder for Non-techies

You might want to approach Brizy with caution because once you start using it, no other website theme builder you might try will ever seem as easy to use. Even better, you can download this WordPress website builder for non-techies (and for techies as well) for Free.

With the Brizy WordPress theme builder at your fingertips, you can –

  • build a brand new website or upgrade an existing one;
  • create dynamic templates for your blog and archive pages, headers, footers, custom pages, and more;
  • enjoy instant access to 150+ customer-friendly pre-made templates;
  • build your blog exactly as you envisioned it;
  • easily customize your WooCommerce shop site.

Brizy’s Theme Builder, Global Blocks, and Global Styling features are right at your fingertips, and WooCommerce integration is also included.

You can also choose the 100% White Label option if you wish to brand the Brizy Builder as your own. A Pro option is available.

Click on the banner to learn more about Brizy and download it free.

2. WpDataTables – WordPress tables plugin

While there are a host of good reasons for using wpDataTables, the main benefit is that it works with any WordPress theme, it can create a responsive table in minutes, and it requires no coding to use.

With this WordPress tables plugin, you can take advantage of a host of useful features that include –

  • four chart-building engines: Google Charts, Highcharts, Chart.js, and the new Apex Charts;
  • connecting to multiple database sources, e.g., MYSQL, MS SQL, and PostgreSQL;
  • fine-tuning a table or chart to make it responsive or editable and using conditional formatting to highlight critical data;
  • the ability to create tables from a nested JSON file;
  • and use dynamic single-cell shortcodes in many different options;
  • integration with Elementor, Divi, WPBakery, and Avada.

wpDataTables is a robust table and chart-building plugin that’s remarkably straightforward. Just click on the banner to learn more.

3. Amelia – WordPress booking plugin

Amelia is a WordPress booking plugin that can fully automate and streamline its appointment booking operations when added to a business’s WordPress site. This makes Amelia an excellent choice for beauty, healthcare, fitness, consulting, educational, and similar client-dependent businesses.

The Amelia plugin can –

  • manage an unlimited number of appointment bookings at multiple locations, and do so from a single platform and dashboard;
  • enable clients to book appointments online 24/7;
  • easily manage group appointments, package bookings, and events;
  • send notifications and reminders to clients via Email or SMS, and make payments online with PayPal, Stripe, Mollie, or Razor;
  • customize booking forms to match its host’s brand.

Click on the banner to find out more about how the Amelia WordPress plugin could be used to upgrade your business’s booking operations.

4. Slider Revolution – more than a WordPress slider plugin

Slider Revolution is a WordPress plugin that is more than just a slider plugin. It’s a highly popular plugin that designers rely on to create visuals they know their clients and customers will love.

Slider Revolution features –

  • 250+ website and slider templates designed to impress;
  • innovative website animation effects and other features that push the boundaries of what is possible in web design.

Slider Revolution is trusted by over 9 million users around the world.

5. WordLift – AI-powered SEO

Structured data helps your website speak the language of Google, and WordLift is the most innovative way to create one.

It is an AI-powered SEO tool that: 

  • adds structured data to your content;
  • creates a Knowledge Graph that makes it easier for Google to understand the relevance of pages, their relationship, and their value;
  • build up the expertise, authority, and trustworthiness of your website.

As a result, you get more organic traffic and audience engagement.

6. TheDock – Ship Solid Websites

TheDock is a design team-oriented WordPress theme builder that supports collaboration, speeds up website design, and helps to create sites that look sharp, perform great, and are easily maintained because of its –

  • custom Post Types and Custom Fields;
  • speedy page load;
  • flexible auto-adjusting layout system with UI components;
  • white-label builder for sharing access to TheDock if you want to;
  • built-in features that assure excellent security and easy maintenance.

7. Download Monitor – Best WordPress Download Manager

Download Monitor is a WordPress downloads manager that can help you streamline your business operations without having to go through the process of setting up a complicated or costly tracking solution.

With the Download Monitor plugin, you can –

  • track any type of file download (ZIP, PPT, XSLX, PDF, etc.);
  • assemble aggregated file download statistics about different file download types;
  • establish access rules based on user roles and download quotas.

8. Essential Grid – best WordPress grid plugin

Essential Grid is, by all accounts, the best WordPress grid plugin on the market. Essential Grid makes it ever so easy to spice up your websites by using it to create superbly engaging and professional-looking galleries.

This WordPress plugin can give you –

  • stunning, fully customizable boxed and full-width to full-screen grid layout options and various grid designs;
  • responsive designs that enable you to control grid appearance on various devices;
  • access to social media content. 

9. LayerSlider – Best WordPress Slider Builder Plugin

LayerSlider is the best WordPress slider plugin, but it is not just for sliders. Create image galleries, popups, landing pages, animated page blocks, parallax and scroll scenes, and even full websites.

LayerSlider –

  • will fit your needs and is easy to use;
  • can spice up and add flair and style to an otherwise run-of-the-mill website;
  • supports any WordPress theme and page builder;
  • features 210+ highly customizable websites, slider, and popup templates.

10. YellowPencil – Visual CSS Editor

YellowPencil is a visual CSS editor you can use to customize any WordPress site in minutes.

Key features include –

  • a complete visual editing interface that allows you to redesign a page with a few clicks;
  • a simple interface that does not require coding;
  • the capability to edit any font and any color;
  • the capability to visually edit a design element’s size, margin, and padding properties;
  • the ability to undo/redo mistakes.

*******

It is almost needless to tell any WordPress user how important plugins are for a website. A good WordPress plugin has the power to boost the success of your business online by adding a range of helpful features and functionality to your website.

In this article, we have shared our expert pick of 10 great WordPress plugins for your websites in 2023.

 

[– This is a sponsored post on behalf of BAW media –]

Source

The post 10 Great WordPress Plugins in 2023 first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot


Motivation

The problem this tutorial is trying to solve is the lack of a native Fivetran connector for CockroachDB. My customer has built their analytics pipeline based on Fivetran. Given there is no native integration, their next best guess was to set up a Postgres connector:

CockroachDB is PostgreSQL wire compatible, but it is not correct to assume it is 1:1. Let’s attempt to configure the connector:

Source de l’article sur DZONE

Given CockroachDB scales with vCPU, there’s a hard limit to how many active connections we can support per vCPU before a serious problem arises. PGBouncer stretches the limits a bit making it a cost-effective option. In serverless architectures, there is no client-side connection pooling, and using middleware like PGBouncer can alleviate the problem of connection storms. Please see my previous articles on the topic for more details.


Previous Articles

  1. Using PGBouncer with CockroachDB
  2. Using PGBouncer with Cockroach Cloud Free Tier
  3. Exploring PGBouncer auth_type(s) with CockroachDB

Motivation

We’ve covered how to deploy PGBouncer with a self-hosted CockroachDB cluster. Today, I’m going to demonstrate how to run PGBouncer along with the Cockroach Cloud free-forever tier database. The overall concepts are identical, but we will highlight some of the major differences in deploying PGBouncer with a cloud product.

Source de l’article sur DZONE