diff --git a/src/data/roadmaps/postgresql-dba/content/acid@9u7DPbfybqmldisiePq0m.md b/src/data/roadmaps/postgresql-dba/content/acid@9u7DPbfybqmldisiePq0m.md index 520a9e70d..eafe744f2 100644 --- a/src/data/roadmaps/postgresql-dba/content/acid@9u7DPbfybqmldisiePq0m.md +++ b/src/data/roadmaps/postgresql-dba/content/acid@9u7DPbfybqmldisiePq0m.md @@ -6,4 +6,4 @@ Visit the following resources to learn more: - [@article@What is ACID Compliant Database?](https://retool.com/blog/whats-an-acid-compliant-database/) - [@article@What is ACID Compliance?: Atomicity, Consistency, Isolation](https://fauna.com/blog/what-is-acid-compliance-atomicity-consistency-isolation) -- [@video@ACID Explained: Atomic, Consistent, Isolated & Durable](https://www.youtube.com/watch?v=yaQ5YMWkxq4) +- [@video@ACID Explained: Atomic, Consistent, Isolated & Durable](https://www.youtube.com/watch?v=yaQ5YMWkxq4) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/adding-extra-extensions@VAf9VzPx70hUf4H6i3Z2t.md b/src/data/roadmaps/postgresql-dba/content/adding-extra-extensions@VAf9VzPx70hUf4H6i3Z2t.md index 03d559919..9cc7af8a0 100644 --- a/src/data/roadmaps/postgresql-dba/content/adding-extra-extensions@VAf9VzPx70hUf4H6i3Z2t.md +++ b/src/data/roadmaps/postgresql-dba/content/adding-extra-extensions@VAf9VzPx70hUf4H6i3Z2t.md @@ -2,7 +2,7 @@ PostgreSQL provides various extensions to enhance its features and functionalities. Extensions are optional packages that can be loaded into your PostgreSQL database to provide additional functionality like new data types or functions. Using extensions can be a powerful way to add new features to your PostgreSQL database and customize your database's functionality according to your needs. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@PostgreSQL Extensions](https://www.postgresql.org/download/products/6-postgresql-extensions/) -- [@official@Create Extension](https://www.postgresql.org/docs/current/sql-createextension.html) +- [@official@Create Extension](https://www.postgresql.org/docs/current/sql-createextension.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/aggregate-and-window-functions@iQqEC1CnVAoM7x455jO_S.md b/src/data/roadmaps/postgresql-dba/content/aggregate-and-window-functions@iQqEC1CnVAoM7x455jO_S.md index af6f4543f..2e07d603a 100644 --- a/src/data/roadmaps/postgresql-dba/content/aggregate-and-window-functions@iQqEC1CnVAoM7x455jO_S.md +++ b/src/data/roadmaps/postgresql-dba/content/aggregate-and-window-functions@iQqEC1CnVAoM7x455jO_S.md @@ -2,7 +2,7 @@ Aggregate functions in PostgreSQL perform calculations on a set of rows and return a single value, such as `SUM()`, `AVG()`, `COUNT()`, `MAX()`, and `MIN()`. Window functions, on the other hand, calculate values across a set of table rows related to the current row while preserving the row structure. Common window functions include `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, `NTILE()`, `LAG()`, and `LEAD()`. These functions are crucial for data analysis, enabling complex queries and insights by summarizing and comparing data effectively. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Data Processing With PostgreSQL Window Functions](https://www.timescale.com/learn/postgresql-window-functions) - [@article@Why & How to Use Window Functions to Aggregate Data in Postgres](https://coderpad.io/blog/development/window-functions-aggregate-data-postgres/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md b/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md index e4857b692..ad219a08d 100644 --- a/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md +++ b/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md @@ -2,8 +2,8 @@ Ansible is a widely used open-source configuration management and provisioning tool that helps automate many tasks for managing servers, databases, and applications. It uses a simple, human-readable language called YAML to define automation scripts, known as “playbooks”. By using Ansible playbooks and PostgreSQL modules, you can automate repetitive tasks, ensure consistent configurations, and reduce human error. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Ansible](https://www.ansible.com/) - [@opensource@ansible/ansible](https://github.com/ansible/ansible) -- [@article@Ansible Tutorial for Beginners: Ultimate Playbook & Examples](https://spacelift.io/blog/ansible-tutorial) +- [@article@Ansible Tutorial for Beginners: Ultimate Playbook & Examples](https://spacelift.io/blog/ansible-tutorial) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/any-programming-language@j5YeixkCKRv0sfq_gFVr9.md b/src/data/roadmaps/postgresql-dba/content/any-programming-language@j5YeixkCKRv0sfq_gFVr9.md index 99cb8806a..fbfc6f676 100644 --- a/src/data/roadmaps/postgresql-dba/content/any-programming-language@j5YeixkCKRv0sfq_gFVr9.md +++ b/src/data/roadmaps/postgresql-dba/content/any-programming-language@j5YeixkCKRv0sfq_gFVr9.md @@ -2,6 +2,6 @@ PostgreSQL supports various languages for providing server-side scripting and developing custom functions, triggers, and stored procedures. When choosing a language, consider factors such as the complexity of the task, the need for a database connection, and the trade-off between learning a new language and leveraging existing skills. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Procedural Languages](https://www.postgresql.org/docs/current/external-pl.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md b/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md index a34f08e19..fbc6ad590 100644 --- a/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md +++ b/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md @@ -2,7 +2,7 @@ Attributes in the relational model are the columns of a table, representing the properties or characteristics of the entity described by the table. Each attribute has a domain, defining the possible values it can take, such as integer, text, or date. Attributes play a crucial role in defining the schema of a relation (table) and are used to store and manipulate data. They are fundamental in maintaining data integrity, enforcing constraints, and enabling the relational operations that form the basis of SQL queries. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What is a Relational Model?](https://www.guru99.com/relational-data-model-dbms.html) - [@article@Relational Model in DBMS](https://www.scaler.com/topics/dbms/relational-model-in-dbms/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/authentication-models@gb75xOcAr-q8TcA6_l1GZ.md b/src/data/roadmaps/postgresql-dba/content/authentication-models@gb75xOcAr-q8TcA6_l1GZ.md index f1985a43f..961a0c161 100644 --- a/src/data/roadmaps/postgresql-dba/content/authentication-models@gb75xOcAr-q8TcA6_l1GZ.md +++ b/src/data/roadmaps/postgresql-dba/content/authentication-models@gb75xOcAr-q8TcA6_l1GZ.md @@ -2,7 +2,7 @@ PostgreSQL supports various authentication models to control access, including trust (no password, for secure environments), password-based (md5 and scram-sha-256 for hashed passwords), GSSAPI and SSPI (Kerberos for secure single sign-on), LDAP (centralized user management), certificate-based (SSL certificates for strong authentication), PAM (leveraging OS-managed authentication), Ident (verifying OS user names), and RADIUS (centralized authentication via RADIUS servers). These methods are configured in the `pg_hba.conf` file, specifying the appropriate authentication method for different combinations of databases, users, and client addresses, ensuring flexible and secure access control. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Authentication Methods](https://www.postgresql.org/docs/current/auth-methods.html) -- [@article@An Introduction to Authorization and Authentication in PostgreSQL](https://www.prisma.io/dataguide/postgresql/authentication-and-authorization/intro-to-authn-and-authz) +- [@article@An Introduction to Authorization and Authentication in PostgreSQL](https://www.prisma.io/dataguide/postgresql/authentication-and-authorization/intro-to-authn-and-authz) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md b/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md index e421a3c9c..028b64b0b 100644 --- a/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md +++ b/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md @@ -2,7 +2,7 @@ Awk is a versatile text processing tool that is widely used for various data manipulation, log analysis, and text reporting tasks. It is especially suitable for working with structured text data, such as data in columns. Awk can easily extract specific fields or perform calculations on them, making it an ideal choice for log analysis. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Awk](https://www.grymoire.com/Unix/Awk.html) - [@article@Awk Command in Linux/Unix](https://www.digitalocean.com/community/tutorials/awk-command-linux-unix) diff --git a/src/data/roadmaps/postgresql-dba/content/b-tree@jihXOJq9zYlDOpvJvpFO-.md b/src/data/roadmaps/postgresql-dba/content/b-tree@jihXOJq9zYlDOpvJvpFO-.md index 36663d711..ec73f3981 100644 --- a/src/data/roadmaps/postgresql-dba/content/b-tree@jihXOJq9zYlDOpvJvpFO-.md +++ b/src/data/roadmaps/postgresql-dba/content/b-tree@jihXOJq9zYlDOpvJvpFO-.md @@ -2,7 +2,7 @@ B-Tree (short for Balanced Tree) is the default index type in PostgreSQL, and it's designed to work efficiently with a broad range of queries. A B-Tree is a data structure that enables fast search, insertion, and deletion of elements in a sorted order. B-Tree indexes are the most commonly used index type in PostgreSQL – versatile, efficient, and well-suited for various query types. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@B-Tree](https://www.postgresql.org/docs/current/indexes-types.html#INDEXES-TYPES-BTREE) - [@video@B-Tree Indexes](https://www.youtube.com/watch?v=NI9wYuVIYcA&t=109s) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/backup-validation-procedures@te4PZaqt6-5Qu8rU0w6a1.md b/src/data/roadmaps/postgresql-dba/content/backup-validation-procedures@te4PZaqt6-5Qu8rU0w6a1.md index f69f3782a..f3395e919 100644 --- a/src/data/roadmaps/postgresql-dba/content/backup-validation-procedures@te4PZaqt6-5Qu8rU0w6a1.md +++ b/src/data/roadmaps/postgresql-dba/content/backup-validation-procedures@te4PZaqt6-5Qu8rU0w6a1.md @@ -2,25 +2,28 @@ It's not enough to just take backups; you must also ensure that your backups are valid and restorable. A corrupt or incomplete backup can lead to data loss or downtime during a crisis. Therefore, it's essential to follow best practices and validate your PostgreSQL backups periodically. -## Key Validation Procedures +Key Validation Procedures +------------------------- Here are the critical backup validation procedures you should follow: -- **Restore Test**: Regularly perform a restore test using your backups to ensure that the backup files can be used for a successful restoration of your PostgreSQL database. This process can be automated using scripts and scheduled tasks. +* **Restore Test**: Regularly perform a restore test using your backups to ensure that the backup files can be used for a successful restoration of your PostgreSQL database. This process can be automated using scripts and scheduled tasks. + +* **Checksum Verification**: Use checksums during the backup process to validate the backed-up data. Checksums can help detect errors caused by corruption or data tampering. PostgreSQL provides built-in checksum support, which can be enabled at the database level. + +* **File-Level Validation**: Compare the files in your backup with the source files in your PostgreSQL database. This will ensure that your backup contains all the necessary files and that their content matches the original data. + +* **Backup Logs Monitoring**: Monitor and analyze the logs generated during your PostgreSQL backup process. Pay close attention to any warnings, errors, or unusual messages. Investigate and resolve any issues to maintain the integrity of your backups. + +* **Automated Testing**: Set up automated tests to simulate a disaster recovery scenario and see if your backup can restore the database fully. This will not only validate your backups but also test the overall reliability of your recovery plan. + -- **Checksum Verification**: Use checksums during the backup process to validate the backed-up data. Checksums can help detect errors caused by corruption or data tampering. PostgreSQL provides built-in checksum support, which can be enabled at the database level. - -- **File-Level Validation**: Compare the files in your backup with the source files in your PostgreSQL database. This will ensure that your backup contains all the necessary files and that their content matches the original data. - -- **Backup Logs Monitoring**: Monitor and analyze the logs generated during your PostgreSQL backup process. Pay close attention to any warnings, errors, or unusual messages. Investigate and resolve any issues to maintain the integrity of your backups. - -- **Automated Testing**: Set up automated tests to simulate a disaster recovery scenario and see if your backup can restore the database fully. This will not only validate your backups but also test the overall reliability of your recovery plan. - -## Post-validation Actions +Post-validation Actions +----------------------- After validating your backups, it's essential to document the results and address any issues encountered during the validation process. This may involve refining your backup and recovery strategies, fixing any errors or updating your scripts and tools. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_verifybackup](https://www.postgresql.org/docs/current/app-pgverifybackup.html) - [@article@PostgreSQL Backup and Restore Validation](https://portal.nutanix.com/page/documents/solutions/details?targetId=NVD-2155-Nutanix-Databases:postgresql-backup-and-restore-validation.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/barman@-XhONB0FBA6UslbDWoTDv.md b/src/data/roadmaps/postgresql-dba/content/barman@-XhONB0FBA6UslbDWoTDv.md index 6031ca0f4..d2490f817 100644 --- a/src/data/roadmaps/postgresql-dba/content/barman@-XhONB0FBA6UslbDWoTDv.md +++ b/src/data/roadmaps/postgresql-dba/content/barman@-XhONB0FBA6UslbDWoTDv.md @@ -2,7 +2,7 @@ Barman (Backup and Recovery Manager) is a robust tool designed for managing PostgreSQL backups and disaster recovery. It supports various backup types, including full and incremental backups, and provides features for remote backups, backup retention policies, and compression to optimize storage. Barman also offers point-in-time recovery (PITR) capabilities and integrates with PostgreSQL's WAL archiving to ensure data integrity. With its extensive monitoring and reporting capabilities, Barman helps database administrators automate and streamline backup processes, ensuring reliable and efficient recovery options in case of data loss or corruption. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pgBarman Website](https://www.pgbarman.org/) - [@opensource@EnterpriseDB/barman](https://github.com/EnterpriseDB/barman) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/brin@43oFhZuXjJd4QHbUoLtft.md b/src/data/roadmaps/postgresql-dba/content/brin@43oFhZuXjJd4QHbUoLtft.md index 12b9996af..961b14bd1 100644 --- a/src/data/roadmaps/postgresql-dba/content/brin@43oFhZuXjJd4QHbUoLtft.md +++ b/src/data/roadmaps/postgresql-dba/content/brin@43oFhZuXjJd4QHbUoLtft.md @@ -2,7 +2,7 @@ BRIN is an abbreviation for Block Range INdex which is an indexing technique introduced in PostgreSQL 9.5. This indexing strategy is best suited for large tables containing sorted data. It works by storing metadata regarding ranges of pages in the table. This enables quick filtering of data when searching for rows that match specific criteria. While not suitable for all tables and queries, they can significantly improve performance when used appropriately. Consider using a BRIN index when working with large tables with sorted or naturally ordered data. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@BRIN Indexes](https://www.postgresql.org/docs/17/brin.html) - [@article@Block Range INdexes](https://en.wikipedia.org/wiki/Block_Range_Index) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/buffer-management@KeBUzfrkorgFWpR8A-xmJ.md b/src/data/roadmaps/postgresql-dba/content/buffer-management@KeBUzfrkorgFWpR8A-xmJ.md index 9ee892df1..475ef1305 100644 --- a/src/data/roadmaps/postgresql-dba/content/buffer-management@KeBUzfrkorgFWpR8A-xmJ.md +++ b/src/data/roadmaps/postgresql-dba/content/buffer-management@KeBUzfrkorgFWpR8A-xmJ.md @@ -2,8 +2,8 @@ PostgreSQL uses a buffer pool to efficiently cache frequently accessed data pages in memory. The buffer pool is a fixed-size, shared memory area where database blocks are stored while they are being used, modified or read by the server. Buffer management is the process of efficiently handling these data pages to optimize performance. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Buffer Manager](https://dev.to/vkt1271/summary-of-chapter-8-buffer-manager-from-the-book-the-internals-of-postgresql-part-2-4f6o) - [@official@pg_buffercache](https://www.postgresql.org/docs/current/pgbuffercache.html) -- [@official@Write Ahead Logging](https://www.postgresql.org/docs/current/wal-intro.html) \ No newline at end of file +- [@official@Write Ahead Logging](https://www.postgresql.org/docs/current/wal-intro.html) +- [@article@Buffer Manager](https://dev.to/vkt1271/summary-of-chapter-8-buffer-manager-from-the-book-the-internals-of-postgresql-part-2-4f6o) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/bulk-loading--processing-data@cc4S7ugIphyBZr-f6X0qi.md b/src/data/roadmaps/postgresql-dba/content/bulk-loading--processing-data@cc4S7ugIphyBZr-f6X0qi.md index 67511f835..27351a0d9 100644 --- a/src/data/roadmaps/postgresql-dba/content/bulk-loading--processing-data@cc4S7ugIphyBZr-f6X0qi.md +++ b/src/data/roadmaps/postgresql-dba/content/bulk-loading--processing-data@cc4S7ugIphyBZr-f6X0qi.md @@ -2,7 +2,7 @@ Bulk load process data involves transferring large volumes of data from external files into the PostgreSQL database. This is an efficient way to insert massive amounts of data into your tables quickly, and it's ideal for initial data population or data migration tasks. Leveraging the `COPY` command or `pg_bulkload` utility in combination with best practices should help you load large datasets swiftly and securely. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Populating a Database](https://www.postgresql.org/docs/current/populate.html) - [@article@7 Best Practice Tips for PostgreSQL Bulk Data Loading](https://www.enterprisedb.com/blog/7-best-practice-tips-postgresql-bulk-data-loading) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/check_pgactivity@WiOgUt5teG9UVRa6zo4h3.md b/src/data/roadmaps/postgresql-dba/content/check_pgactivity@WiOgUt5teG9UVRa6zo4h3.md index 69807bd26..a69784b30 100644 --- a/src/data/roadmaps/postgresql-dba/content/check_pgactivity@WiOgUt5teG9UVRa6zo4h3.md +++ b/src/data/roadmaps/postgresql-dba/content/check_pgactivity@WiOgUt5teG9UVRa6zo4h3.md @@ -1,5 +1,5 @@ # check_pgactivity -`check_pgactivity` is a PostgreSQL monitoring tool that provides detailed health and performance statistics for PostgreSQL databases. Designed to be used with the Nagios monitoring framework, it checks various aspects of PostgreSQL activity, including connection status, replication status, lock activity, and query performance. By collecting and presenting key metrics, `check_pgactivity` helps database administrators detect and troubleshoot performance issues, ensuring the database operates efficiently and reliably. The tool supports custom thresholds and alerting, making it a flexible solution for proactive database monitoring. +Visit the following resources to learn more: - [@opensource@OPMDG/check_pgactivity](https://github.com/OPMDG/check_pgactivity) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/check_pgbackrest@DDPuDDUFxubWZmWXCmF7L.md b/src/data/roadmaps/postgresql-dba/content/check_pgbackrest@DDPuDDUFxubWZmWXCmF7L.md index 2a09ee15f..348ffd6a7 100644 --- a/src/data/roadmaps/postgresql-dba/content/check_pgbackrest@DDPuDDUFxubWZmWXCmF7L.md +++ b/src/data/roadmaps/postgresql-dba/content/check_pgbackrest@DDPuDDUFxubWZmWXCmF7L.md @@ -4,12 +4,11 @@ Monitoring `pgBackRest` helps ensure that your PostgreSQL backups are consistent `pgBackRest` provides a built-in command called `check` which performs various checks to validate your repository and configuration settings. The command is executed as follows: -```sh -pgbackrest --stanza= check -``` + pgbackrest --stanza= check + `` should be replaced with the name of the stanza for which you want to verify the repository and configuration settings. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pgBackRest Website](https://pgbackrest.org/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md b/src/data/roadmaps/postgresql-dba/content/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md index 1d76ea903..1a04f989b 100644 --- a/src/data/roadmaps/postgresql-dba/content/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md +++ b/src/data/roadmaps/postgresql-dba/content/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md @@ -2,8 +2,8 @@ In PostgreSQL, checkpoints and the background writer are essential for maintaining data integrity and optimizing performance. Checkpoints periodically write all modified data (dirty pages) from the shared buffers to the disk, ensuring that the database can recover to a consistent state after a crash. This process is controlled by settings such as `checkpoint_timeout`, `checkpoint_completion_target`, and `max_wal_size`, balancing between write performance and recovery time. The background writer continuously flushes dirty pages to disk in the background, smoothing out the I/O workload and reducing the amount of work needed during checkpoints. This helps to maintain steady performance and avoid spikes in disk activity. Proper configuration of these mechanisms is crucial for ensuring efficient disk I/O management and overall database stability. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Checkpoints](https://www.postgresql.org/docs/current/sql-checkpoint.html) - [@article@What is a checkpoint?](https://www.cybertec-postgresql.com/en/postgresql-what-is-a-checkpoint/) -- [@article@What are the difference between background writer and checkpoint in postgresql?](https://stackoverflow.com/questions/71534378/what-are-the-difference-between-background-writer-and-checkpoint-in-postgresql) +- [@article@What are the difference between background writer and checkpoint in postgresql?](https://stackoverflow.com/questions/71534378/what-are-the-difference-between-background-writer-and-checkpoint-in-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/chef@7EHZ9YsNjCyTAN-LDWYMS.md b/src/data/roadmaps/postgresql-dba/content/chef@7EHZ9YsNjCyTAN-LDWYMS.md index dfc5f1a0c..25029760b 100644 --- a/src/data/roadmaps/postgresql-dba/content/chef@7EHZ9YsNjCyTAN-LDWYMS.md +++ b/src/data/roadmaps/postgresql-dba/content/chef@7EHZ9YsNjCyTAN-LDWYMS.md @@ -2,7 +2,7 @@ Chef is a powerful and widely-used configuration management tool that provides a simple yet customizable way to manage your infrastructure, including PostgreSQL installations. Chef is an open-source automation platform written in Ruby that helps users manage their infrastructure by creating reusable and programmable code, called "cookbooks" and "recipes", to define the desired state of your systems. It uses a client-server model and employs these cookbooks to ensure that your infrastructure is always in the desired state. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Chef Website](https://www.chef.io/products/chef-infra) - [@opensource@chef/chef](https://github.com/chef/chef) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/columns@cty2IjgS1BWltbYmuxxuV.md b/src/data/roadmaps/postgresql-dba/content/columns@cty2IjgS1BWltbYmuxxuV.md index de7aa426f..211a07cdc 100644 --- a/src/data/roadmaps/postgresql-dba/content/columns@cty2IjgS1BWltbYmuxxuV.md +++ b/src/data/roadmaps/postgresql-dba/content/columns@cty2IjgS1BWltbYmuxxuV.md @@ -1,8 +1,8 @@ # Columns in PostgreSQL -Columns are a fundamental component of PostgreSQL's object model. They are used to store the actual data within a table and define their attributes such as data type, constraints, and other properties. +Columns are a fundamental component of PostgreSQL's object model. They are used to store the actual data within a table and define their attributes such as data type, constraints, and other properties. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Columns](https://www.postgresql.org/docs/current/ddl-alter.html) - [@article@PostgreSQL ADD COLUMN](https://www.w3schools.com/postgresql/postgresql_add_column.php) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/configuring@T819BZ-CZgUX_BY7Gna0J.md b/src/data/roadmaps/postgresql-dba/content/configuring@T819BZ-CZgUX_BY7Gna0J.md index 7641049e8..a80b793ca 100644 --- a/src/data/roadmaps/postgresql-dba/content/configuring@T819BZ-CZgUX_BY7Gna0J.md +++ b/src/data/roadmaps/postgresql-dba/content/configuring@T819BZ-CZgUX_BY7Gna0J.md @@ -1,6 +1,6 @@ # Configuring PostgreSQL -Configuring PostgreSQL involves modifying several key configuration files to optimize performance, security, and functionality. The primary configuration files are postgresql.conf, pg_hba.conf, and pg_ident.conf, typically located in the PostgreSQL data directory. By properly configuring these files, you can tailor PostgreSQL to better fit your specific needs and environment. +Configuring PostgreSQL involves modifying several key configuration files to optimize performance, security, and functionality. The primary configuration files are postgresql.conf, pg\_hba.conf, and pg\_ident.conf, typically located in the PostgreSQL data directory. By properly configuring these files, you can tailor PostgreSQL to better fit your specific needs and environment. Visit the following resources to learn more: diff --git a/src/data/roadmaps/postgresql-dba/content/connect-using-psql@mMf2Mq9atIKk37IMWuoJs.md b/src/data/roadmaps/postgresql-dba/content/connect-using-psql@mMf2Mq9atIKk37IMWuoJs.md index 9ab10502a..1086715c9 100644 --- a/src/data/roadmaps/postgresql-dba/content/connect-using-psql@mMf2Mq9atIKk37IMWuoJs.md +++ b/src/data/roadmaps/postgresql-dba/content/connect-using-psql@mMf2Mq9atIKk37IMWuoJs.md @@ -1,8 +1,8 @@ -# Connect Using `psql` +# Connect Using psql `psql` is an interactive command-line utility that enables you to interact with a PostgreSQL database server. Using `psql`, you can perform various SQL operations on your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@psql](https://www.postgresql.org/docs/current/app-psql.html#:~:text=psql%20is%20a%20terminal%2Dbased,and%20see%20the%20query%20results.) - [@article@psql guide](https://www.postgresguide.com/utilities/psql/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md b/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md index 2d34c5274..6aabe8af9 100644 --- a/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md +++ b/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md @@ -14,7 +14,7 @@ Constraints are an essential part of the relational model, as they define rules **Exclusion** - An exclusion constraint is a more advanced form of constraint that allows you to specify conditions that should not exist when comparing multiple rows in a table. It helps maintain data integrity by preventing conflicts in data. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Constraints](https://www.postgresql.org/docs/current/ddl-constraints.html) -- [@article@PostgreSQL - Constraints](https://www.tutorialspoint.com/postgresql/postgresql_constraints.htm) +- [@article@PostgreSQL - Constraints](https://www.tutorialspoint.com/postgresql/postgresql_constraints.htm) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/consul@IkB28gO0LK1q1-KjdI9Oz.md b/src/data/roadmaps/postgresql-dba/content/consul@IkB28gO0LK1q1-KjdI9Oz.md index f65c9fb01..1f028abe6 100644 --- a/src/data/roadmaps/postgresql-dba/content/consul@IkB28gO0LK1q1-KjdI9Oz.md +++ b/src/data/roadmaps/postgresql-dba/content/consul@IkB28gO0LK1q1-KjdI9Oz.md @@ -4,7 +4,7 @@ Consul is a distributed, highly-available, and multi-datacenter aware service di Consul uses a consensus protocol for leader election and ensures that only one server acts as a leader at any given time. This leader automatically takes over upon leader failure or shutdown, making the system resilient to outages. It provides a range of services like service discovery, health checking, key-value storage, and DNS services. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Consul by Hashicorp](https://www.consul.io/) - [@opensource@hashicorp/consul](https://github.com/hashicorp/consul) diff --git a/src/data/roadmaps/postgresql-dba/content/core-dumps@-CIezYPHTcXJF_p4T55-c.md b/src/data/roadmaps/postgresql-dba/content/core-dumps@-CIezYPHTcXJF_p4T55-c.md index 45f86e7b1..eaff3d82a 100644 --- a/src/data/roadmaps/postgresql-dba/content/core-dumps@-CIezYPHTcXJF_p4T55-c.md +++ b/src/data/roadmaps/postgresql-dba/content/core-dumps@-CIezYPHTcXJF_p4T55-c.md @@ -2,7 +2,7 @@ A core dump is a file that contains the memory image of a running process and its process status. It's typically generated when a program crashes or encounters an unrecoverable error, allowing developers to analyze the state of the program at the time of the crash. In the context of PostgreSQL, core dumps can help diagnose and fix issues with the database system. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Core Dump](https://wiki.archlinux.org/title/Core_dump) - [@article@Enabling Core Dumps](https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD#Enabling_core_dumps) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/cte@fsZvmH210bC_3dBD_X8-z.md b/src/data/roadmaps/postgresql-dba/content/cte@fsZvmH210bC_3dBD_X8-z.md index 1e052dff6..cd4c06365 100644 --- a/src/data/roadmaps/postgresql-dba/content/cte@fsZvmH210bC_3dBD_X8-z.md +++ b/src/data/roadmaps/postgresql-dba/content/cte@fsZvmH210bC_3dBD_X8-z.md @@ -2,7 +2,7 @@ A Common Table Expression, also known as CTE, is a named temporary result set that can be referenced within a `SELECT`, `INSERT`, `UPDATE`, or `DELETE` statement. CTEs are particularly helpful when dealing with complex queries, as they enable you to break down the query into smaller, more readable chunks. Recursive CTEs are helpful when working with hierarchical or tree-structured data. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Common Table Expressions](https://www.postgresql.org/docs/current/queries-with.html) - [@article@PostgreSQL CTEs](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-cte/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md b/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md index a368525c0..57b57b4f0 100644 --- a/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md +++ b/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md @@ -2,7 +2,7 @@ Data partitioning is a technique that divides a large table into smaller, more manageable pieces called partitions. Each partition is a smaller table that stores a subset of the data, usually based on specific criteria such as ranges, lists, or hashes. Partitioning can improve query performance, simplifies data maintenance tasks, and optimizes resource utilization. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Table Partitioning](https://www.postgresql.org/docs/current/ddl-partitioning.html) - [@article@How to use Table Partitioning to Scale PostgreSQL](https://www.enterprisedb.com/postgres-tutorials/how-use-table-partitioning-scale-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md b/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md index a0e6393be..02b84c461 100644 --- a/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md +++ b/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md @@ -2,8 +2,8 @@ PostgreSQL offers a rich and diverse set of data types, catering to a wide range of applications and ensuring data integrity and performance. These include standard numeric types such as integers, floating-point numbers, and serial types for auto-incrementing fields. Character types like `VARCHAR` and `TEXT` handle varying lengths of text, while DATE, TIME, and TIMESTAMP support a variety of temporal data requirements. PostgreSQL also supports a comprehensive set of Boolean, enumerated (ENUM), and composite types, enabling more complex data structures. Additionally, it excels with its support for JSON and JSONB data types, allowing for efficient storage and querying of semi-structured data. The inclusion of array types, geometric data types, and the PostGIS extension for geographic data further extends PostgreSQL's versatility, making it a powerful tool for a broad spectrum of data management needs. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Data Types](https://www.postgresql.org/docs/current/datatype.html) - [@article@Introduction to PostgreSQL DataTypes](https://www.prisma.io/dataguide/postgresql/introduction-to-data-types) -- [@article@PostgreSQL® Data Types: Mappings to SQL, JDBC, and Java Data Types](https://www.instaclustr.com/blog/postgresql-data-types-mappings-to-sql-jdbc-and-java-data-types/) +- [@article@PostgreSQL® Data Types: Mappings to SQL, JDBC, and Java Data Types](https://www.instaclustr.com/blog/postgresql-data-types-mappings-to-sql-jdbc-and-java-data-types/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/data-types@fvEgtFP7xvkq_D4hYw3gz.md b/src/data/roadmaps/postgresql-dba/content/data-types@fvEgtFP7xvkq_D4hYw3gz.md index 57d243018..af55f3222 100644 --- a/src/data/roadmaps/postgresql-dba/content/data-types@fvEgtFP7xvkq_D4hYw3gz.md +++ b/src/data/roadmaps/postgresql-dba/content/data-types@fvEgtFP7xvkq_D4hYw3gz.md @@ -2,7 +2,7 @@ PostgreSQL offers a comprehensive set of data types to cater to diverse data needs, including numeric types like `INTEGER`, `FLOAT`, and `SERIAL` for auto-incrementing fields; character types such as `VARCHAR` and `TEXT` for variable-length text; and temporal types like `DATE`, `TIME`, and `TIMESTAMP` for handling date and time data. Additionally, PostgreSQL supports `BOOLEAN` for true/false values, `ENUM` for enumerated lists, and composite types for complex structures. It also excels with `JSON` and `JSONB` for storing and querying semi-structured data, arrays for storing multiple values in a single field, and geometric types for spatial data. These data types ensure flexibility and robust data management for various applications. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@PostgreSQL® Data Types: Mappings to SQL, JDBC, and Java Data Types](https://www.instaclustr.com/blog/postgresql-data-types-mappings-to-sql-jdbc-and-java-data-types/) -- [@official@Data Types](https://www.postgresql.org/docs/current/datatype.html) \ No newline at end of file +- [@official@Data Types](https://www.postgresql.org/docs/current/datatype.html) +- [@article@PostgreSQL® Data Types: Mappings to SQL, JDBC, and Java Data Types](https://www.instaclustr.com/blog/postgresql-data-types-mappings-to-sql-jdbc-and-java-data-types/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/databases@DU-D3-j9h6i9Nj5ci8hlX.md b/src/data/roadmaps/postgresql-dba/content/databases@DU-D3-j9h6i9Nj5ci8hlX.md index 284817076..c4fa42a02 100644 --- a/src/data/roadmaps/postgresql-dba/content/databases@DU-D3-j9h6i9Nj5ci8hlX.md +++ b/src/data/roadmaps/postgresql-dba/content/databases@DU-D3-j9h6i9Nj5ci8hlX.md @@ -2,6 +2,6 @@ In PostgreSQL, a database is a named collection of tables, indexes, views, stored procedures, and other database objects. Each PostgreSQL server can manage multiple databases, enabling the separation and organization of data sets for various applications, projects, or users. -Learn more from the following resources: +Visit the following resources to learn more: -- [@official@Managing Databases](https://www.postgresql.org/docs/current/managing-databases.html) +- [@official@Managing Databases](https://www.postgresql.org/docs/current/managing-databases.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/default-privileges@t18XjeHP4uRyERdqhHpl5.md b/src/data/roadmaps/postgresql-dba/content/default-privileges@t18XjeHP4uRyERdqhHpl5.md index 6ef8c7f1a..0a97dc0ea 100644 --- a/src/data/roadmaps/postgresql-dba/content/default-privileges@t18XjeHP4uRyERdqhHpl5.md +++ b/src/data/roadmaps/postgresql-dba/content/default-privileges@t18XjeHP4uRyERdqhHpl5.md @@ -2,7 +2,7 @@ PostgreSQL allows you to define object privileges for various types of database objects. These privileges determine if a user can access and manipulate objects like tables, views, sequences, or functions. In this section, we will focus on understanding default privileges in PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@ALTER DEFAULT PRIVILEGES](https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html) - [@official@Privileges](https://www.postgresql.org/docs/current/ddl-priv.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/depesz@rVlncpLO20WK6mjyqLerL.md b/src/data/roadmaps/postgresql-dba/content/depesz@rVlncpLO20WK6mjyqLerL.md index e8d674c90..464b43f3c 100644 --- a/src/data/roadmaps/postgresql-dba/content/depesz@rVlncpLO20WK6mjyqLerL.md +++ b/src/data/roadmaps/postgresql-dba/content/depesz@rVlncpLO20WK6mjyqLerL.md @@ -2,6 +2,6 @@ "Depesz" is a popular, online query analysis tool for PostgreSQL, named after Hubert "depesz" Lubaczewski, the creator of the tool. It helps you understand and analyze the output of `EXPLAIN ANALYZE`, a powerful command in PostgreSQL for examining and optimizing your queries. Depesz is often used to simplify the query analysis process, as it offers valuable insights into the performance of your SQL queries and aids in tuning them for better efficiency. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Depesz Website](https://www.depesz.com/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/deployment-in-cloud@6SCcxpkpLmmRe0rS8WAPZ.md b/src/data/roadmaps/postgresql-dba/content/deployment-in-cloud@6SCcxpkpLmmRe0rS8WAPZ.md index 2fb8b5e69..ab5fbc61f 100644 --- a/src/data/roadmaps/postgresql-dba/content/deployment-in-cloud@6SCcxpkpLmmRe0rS8WAPZ.md +++ b/src/data/roadmaps/postgresql-dba/content/deployment-in-cloud@6SCcxpkpLmmRe0rS8WAPZ.md @@ -2,8 +2,8 @@ In this section, we will discuss deploying PostgreSQL in the cloud. Deploying your PostgreSQL database in the cloud offers significant advantages such as scalability, flexibility, high availability, and cost reduction. There are several cloud providers that offer PostgreSQL as a service, which means you can quickly set up and manage your databases without having to worry about underlying infrastructure, backups, and security measures. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@5 Ways to Host PostgreSQL Databases](https://www.prisma.io/dataguide/postgresql/5-ways-to-host-postgresql) - [@article@Postgres On Kubernetes](https://cloudnative-pg.io/) -- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh) +- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/domains@-LuxJvI5IaOx6NqzK0d8S.md b/src/data/roadmaps/postgresql-dba/content/domains@-LuxJvI5IaOx6NqzK0d8S.md index 6264ef202..9c87ed194 100644 --- a/src/data/roadmaps/postgresql-dba/content/domains@-LuxJvI5IaOx6NqzK0d8S.md +++ b/src/data/roadmaps/postgresql-dba/content/domains@-LuxJvI5IaOx6NqzK0d8S.md @@ -4,7 +4,7 @@ Domains in PostgreSQL are essentially user-defined data types that can be create To create a custom domain, you need to define a name for your domain, specify its underlying data type, and set any constraints or default values you want to apply. Domains in PostgreSQL are a great way to enforce data integrity and consistency in your relational database. They allow you to create custom data types based on existing data types with added constraints, default values, and validation rules. By using domains, you can streamline your database schema and ensure that your data complies with your business rules or requirements. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@CREATE DOMAIN](https://www.postgresql.org/docs/current/sql-createdomain.html) - [@official@Domain Types](https://www.postgresql.org/docs/current/domains.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/ebpf@QarPFu_wU6-F9P5YHo6CO.md b/src/data/roadmaps/postgresql-dba/content/ebpf@QarPFu_wU6-F9P5YHo6CO.md index 19f949758..b57331d73 100644 --- a/src/data/roadmaps/postgresql-dba/content/ebpf@QarPFu_wU6-F9P5YHo6CO.md +++ b/src/data/roadmaps/postgresql-dba/content/ebpf@QarPFu_wU6-F9P5YHo6CO.md @@ -2,7 +2,7 @@ eBPF is a powerful Linux kernel technology used for tracing and profiling various system components such as processes, filesystems, network connections, and more. It has gained enormous popularity among developers and administrators because of its ability to offer deep insights into the system's behavior, performance, and resource usage at runtime. In the context of profiling PostgreSQL, eBPF can provide valuable information about query execution, system calls, and resource consumption patterns. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What is eBPF? (Extended Berkeley Packet Filter)](https://www.kentik.com/kentipedia/what-is-ebpf-extended-berkeley-packet-filter/) - [@article@What is Extended Berkeley Packet Filter (eBPF)](https://www.sentinelone.com/cybersecurity-101/what-is-extended-berkeley-packet-filter-ebpf/) diff --git a/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md b/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md index 580c69969..6fb7df4f2 100644 --- a/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md +++ b/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md @@ -4,8 +4,8 @@ Etcd is a distributed key-value store that provides an efficient and reliable me Etcd can be utilized in conjunction with _connection poolers_ such as PgBouncer or HAProxy to improve PostgreSQL load balancing. By maintaining a list of active PostgreSQL servers' IP addresses and ports as keys in the store, connection poolers can fetch this information periodically to route client connections to the right servers. Additionally, transactional operations on the store can simplify the process of adding or removing nodes from the load balancer configuration while maintaining consistency. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@PostgreSQL High Availability with Etcd](https://github.com/patroni/patroni) -- [@video@PostgreSQL High Availability](https://www.youtube.com/watch?v=J0ErkLo2b1E) -- [@articles@etcd vs PostgreSQL](https://api7.ai/blog/etcd-vs-postgresql) +- [@article@etcd vs PostgreSQL](https://api7.ai/blog/etcd-vs-postgresql) +- [@video@PostgreSQL High Availability](https://www.youtube.com/watch?v=J0ErkLo2b1E) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/explain@n2OjwxzIHnATraRWi5Ddl.md b/src/data/roadmaps/postgresql-dba/content/explain@n2OjwxzIHnATraRWi5Ddl.md index 6a09b6a97..10fa88eab 100644 --- a/src/data/roadmaps/postgresql-dba/content/explain@n2OjwxzIHnATraRWi5Ddl.md +++ b/src/data/roadmaps/postgresql-dba/content/explain@n2OjwxzIHnATraRWi5Ddl.md @@ -4,7 +4,7 @@ Understanding the performance and efficiency of your queries is crucial when wor `EXPLAIN` generates a query execution plan without actually executing the query. It shows the nodes in the plan tree, the order in which they will be executed, and the estimated cost of each operation. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Using EXPLAIN](https://www.postgresql.org/docs/current/using-explain.html) - [@article@PostgreSQL EXPLAIN](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-explain/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md b/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md index 1d3292df1..fbd916ccc 100644 --- a/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md +++ b/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md @@ -1,7 +1,7 @@ # explain.dalibo.com -explain.dalibo.com is a free service that allows you to analyze the execution plan of your queries. It is based on the explain.depesz.com service. +[explain.dalibo.com](http://explain.dalibo.com) is a free service that allows you to analyze the execution plan of your queries. It is based on the [explain.depesz.com](http://explain.depesz.com) service. -Learn more from the following resources: +Visit the following resources to learn more: -- [@official@explain.dalibo.com](https://explain.dalibo.com/) +- [@official@explain.dalibo.com](https://explain.dalibo.com/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md b/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md index cce43969f..e1f99401b 100644 --- a/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md +++ b/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md @@ -2,7 +2,7 @@ Filtering data is an essential feature in any database management system, and PostgreSQL is no exception. When we refer to filtering data, we're talking about selecting a particular subset of data that fulfills specific criteria or conditions. In PostgreSQL, we use the **WHERE** clause to filter data in a query based on specific conditions. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@How to Filter Query Results in PostgreSQL](https://www.prisma.io/dataguide/postgresql/reading-and-querying-data/filtering-data) - [@article@Using PostgreSQL FILTER](https://www.crunchydata.com/blog/using-postgres-filter) diff --git a/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md b/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md index 1a7d40e9e..ac02bbe7e 100644 --- a/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md +++ b/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md @@ -2,7 +2,7 @@ A schema is a logical collection of database objects within a PostgreSQL database. It behaves like a namespace that allows you to group and isolate your database objects separately from other schemas. The primary goal of a schema is to organize your database structure, making it easier to manage and maintain. By default, every PostgreSQL database has a `public` schema, which is the default search path for any unqualified table or other database object. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) - [@article@PostgreSQL Schema](https://hasura.io/learn/database/postgresql/core-concepts/1-postgresql-schema/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/fortables@ga8ZiuPc42XvZ3-iVh8T1.md b/src/data/roadmaps/postgresql-dba/content/fortables@ga8ZiuPc42XvZ3-iVh8T1.md index 8beb7f93a..486c75f4a 100644 --- a/src/data/roadmaps/postgresql-dba/content/fortables@ga8ZiuPc42XvZ3-iVh8T1.md +++ b/src/data/roadmaps/postgresql-dba/content/fortables@ga8ZiuPc42XvZ3-iVh8T1.md @@ -2,8 +2,8 @@ The primary DDL statements for creating and managing tables in PostgreSQL include `CREATE TABLE`, `ALTER TABLE`, and `DROP TABLE`, these DDL commands allow you to create, modify, and delete tables and their structures, providing a robust framework for database schema management in PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@CREATE TABLE](https://www.postgresql.org/docs/current/sql-createtable.html) - [@official@DROP TABLE](https://www.postgresql.org/docs/current/sql-droptable.html) -- [@official@ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html) +- [@official@ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/gdb@yIdUhfE2ZTQhDAdQsXrnH.md b/src/data/roadmaps/postgresql-dba/content/gdb@yIdUhfE2ZTQhDAdQsXrnH.md index de13e3e0e..92e6b7f24 100644 --- a/src/data/roadmaps/postgresql-dba/content/gdb@yIdUhfE2ZTQhDAdQsXrnH.md +++ b/src/data/roadmaps/postgresql-dba/content/gdb@yIdUhfE2ZTQhDAdQsXrnH.md @@ -2,7 +2,7 @@ GDB, the GNU Debugger, is a powerful debugging tool that provides inspection and modification features for applications written in various programming languages, including C, C++, and Fortran. GDB can be used alongside PostgreSQL for investigating backend processes and identifying potential issues that might not be apparent at the application level. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@GDB](https://sourceware.org/gdb/) - [@article@Learn how to use GDB](https://opensource.com/article/21/3/debug-code-gdb) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/get-involved-in-development@NhodBD8myUTljNdn3y40I.md b/src/data/roadmaps/postgresql-dba/content/get-involved-in-development@NhodBD8myUTljNdn3y40I.md index d22566de6..8a818b5ff 100644 --- a/src/data/roadmaps/postgresql-dba/content/get-involved-in-development@NhodBD8myUTljNdn3y40I.md +++ b/src/data/roadmaps/postgresql-dba/content/get-involved-in-development@NhodBD8myUTljNdn3y40I.md @@ -2,27 +2,33 @@ PostgreSQL is an open-source database system developed by a large and active community. By getting involved in the development process, you can help contribute to its growth, learn new skills, and collaborate with other developers around the world. In this section, we'll discuss some ways for you to participate in the PostgreSQL development community. -## Join Mailing Lists and Online Forums +Join Mailing Lists and Online Forums +------------------------------------ Join various PostgreSQL mailing lists, such as the general discussion list (_pgsql-general_), the development list (_pgsql-hackers_), or other specialized lists to stay up-to-date on discussions related to the project. You can also participate in PostgreSQL-related forums, like Stack Overflow or Reddit, to engage with fellow developers, ask questions, and provide assistance to others. -## Bug Reporting and Testing +Bug Reporting and Testing +------------------------- Reporting bugs and testing new features are invaluable contributions to improving the quality and stability of PostgreSQL. Before submitting a bug report, make sure to search the official bug tracking system to see if the issue has already been addressed. Additionally, consider testing patches submitted by other developers or contributing tests for new features or functionalities. -## Contribute Code +Contribute Code +--------------- Contributing code can range from fixing small bugs or optimizing existing features, to adding entirely new functionalities. To start contributing to the PostgreSQL source code, you'll need to familiarize yourself with the [PostgreSQL coding standards](https://www.postgresql.org/docs/current/source.html) and submit your changes as patches through the PostgreSQL mailing list. Make sure to follow the [patch submission guidelines](https://wiki.postgresql.org/wiki/Submitting_a_Patch) to ensure that your contributions are properly reviewed and considered. -## Documentation and Translations +Documentation and Translations +------------------------------ Improving and expanding the official PostgreSQL documentation is crucial for providing accurate and up-to-date information to users. If you have expertise in a particular area, you can help by updating the documentation. Additionally, translating the documentation or interface messages into other languages can help expand the PostgreSQL community by providing resources for non-English speakers. -## Offer Support and Help Others +Offer Support and Help Others +----------------------------- By helping others in the community, you not only contribute to the overall growth and development of PostgreSQL but also develop your own knowledge and expertise. Participate in online discussions, answer questions, conduct workshops or webinars, and share your experiences and knowledge to help others overcome challenges they may be facing. -## Advocate for PostgreSQL +Advocate for PostgreSQL +----------------------- Promoting and advocating for PostgreSQL in your organization and network can help increase its adoption and visibility. Share your success stories, give talks at conferences, write blog posts, or create tutorials to help encourage more people to explore PostgreSQL as a go-to solution for their database needs. diff --git a/src/data/roadmaps/postgresql-dba/content/gin@FJhJyDWOj9w_Rd_uKcouT.md b/src/data/roadmaps/postgresql-dba/content/gin@FJhJyDWOj9w_Rd_uKcouT.md index 1f8cb4faa..f408c7066 100644 --- a/src/data/roadmaps/postgresql-dba/content/gin@FJhJyDWOj9w_Rd_uKcouT.md +++ b/src/data/roadmaps/postgresql-dba/content/gin@FJhJyDWOj9w_Rd_uKcouT.md @@ -2,7 +2,7 @@ Generalized Inverted Index (GIN) is a powerful indexing method in PostgreSQL that can be used for complex data types such as arrays, text search, and more. GIN provides better search capabilities for non-traditional data types, while also offering efficient and flexible querying. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@GIN Introduction](https://www.postgresql.org/docs/current/gin-intro.html) - [@article@Generalized Inverted Indexes](https://www.cockroachlabs.com/docs/stable/inverted-indexes) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/gist@2chGkn5Y_WTjYllpgL0LJ.md b/src/data/roadmaps/postgresql-dba/content/gist@2chGkn5Y_WTjYllpgL0LJ.md index a3d0fdc88..d6aafca5d 100644 --- a/src/data/roadmaps/postgresql-dba/content/gist@2chGkn5Y_WTjYllpgL0LJ.md +++ b/src/data/roadmaps/postgresql-dba/content/gist@2chGkn5Y_WTjYllpgL0LJ.md @@ -2,7 +2,7 @@ The Generalized Search Tree (GiST) is a powerful and flexible index type in PostgreSQL that serves as a framework to implement different indexing strategies. GiST provides a generic infrastructure for building custom indexes, extending the core capabilities of PostgreSQL. This powerful indexing framework allows you to extend PostgreSQL's built-in capabilities, creating custom indexing strategies aligned with your specific requirements. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@GIST Indexes](https://www.postgresql.org/docs/8.1/gist.html) - [@article@Generalized Search Trees for Database Systems](https://www.vldb.org/conf/1995/P562.PDF) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/golden-signals@oX-bdPPjaHJnQKgUhDSF2.md b/src/data/roadmaps/postgresql-dba/content/golden-signals@oX-bdPPjaHJnQKgUhDSF2.md index 678bb077e..c3ccdc82b 100644 --- a/src/data/roadmaps/postgresql-dba/content/golden-signals@oX-bdPPjaHJnQKgUhDSF2.md +++ b/src/data/roadmaps/postgresql-dba/content/golden-signals@oX-bdPPjaHJnQKgUhDSF2.md @@ -2,7 +2,7 @@ Golden Signals are a set of metrics that help monitor application performance and health, particularly in distributed systems. These metrics are derived from Google's Site Reliability Engineering (SRE) practices and can be easily applied to PostgreSQL troubleshooting methods. By monitoring these four key signals – latency, traffic, errors, and saturation – you can gain a better understanding of your PostgreSQL database's overall performance and health, as well as quickly identify potential issues. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@The Four Golden Signals](https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals) - [@article@4 SRE Golden Signals (What they are and why they matter)](https://www.blameless.com/blog/4-sre-golden-signals-what-they-are-and-why-they-matter) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/grant--revoke@o1WSsw-ZIaAb8JF3P0mfR.md b/src/data/roadmaps/postgresql-dba/content/grant--revoke@o1WSsw-ZIaAb8JF3P0mfR.md index 4aac505cd..0cc04d9d9 100644 --- a/src/data/roadmaps/postgresql-dba/content/grant--revoke@o1WSsw-ZIaAb8JF3P0mfR.md +++ b/src/data/roadmaps/postgresql-dba/content/grant--revoke@o1WSsw-ZIaAb8JF3P0mfR.md @@ -1,8 +1,8 @@ # Grant and Revoke Privileges in PostgreSQL -One of the most important aspects of database management is providing appropriate access permissions to users. In PostgreSQL, this can be achieved with the `GRANT` and `REVOKE` commands, which allow you to manage the privileges of database objects such as tables, sequences, functions, and schemas. +One of the most important aspects of database management is providing appropriate access permissions to users. In PostgreSQL, this can be achieved with the `GRANT` and `REVOKE` commands, which allow you to manage the privileges of database objects such as tables, sequences, functions, and schemas. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@GRANT](https://www.postgresql.org/docs/current/sql-grant.html) - [@official@REVOKE](https://www.postgresql.org/docs/current/sql-revoke.html) diff --git a/src/data/roadmaps/postgresql-dba/content/grep@cFtrSgboZRJ3Q63eaqEBf.md b/src/data/roadmaps/postgresql-dba/content/grep@cFtrSgboZRJ3Q63eaqEBf.md index 26b3c7152..63553961a 100644 --- a/src/data/roadmaps/postgresql-dba/content/grep@cFtrSgboZRJ3Q63eaqEBf.md +++ b/src/data/roadmaps/postgresql-dba/content/grep@cFtrSgboZRJ3Q63eaqEBf.md @@ -2,7 +2,7 @@ Grep is a powerful command-line tool used for searching plain-text data sets against specific patterns. It was originally developed for the Unix operating system and has since become available on almost every platform. When analyzing PostgreSQL logs, you may find the `grep` command an incredibly useful resource for quickly finding specific entries or messages. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@grep command in Linux/Unix](https://www.digitalocean.com/community/tutorials/grep-command-in-linux-unix) - [@article@Use the Grep Command](https://docs.rackspace.com/docs/use-the-linux-grep-command) diff --git a/src/data/roadmaps/postgresql-dba/content/grouping@uwd_CaeHQQ3ZWojbmtbPh.md b/src/data/roadmaps/postgresql-dba/content/grouping@uwd_CaeHQQ3ZWojbmtbPh.md index 8abb7beb6..6d8512611 100644 --- a/src/data/roadmaps/postgresql-dba/content/grouping@uwd_CaeHQQ3ZWojbmtbPh.md +++ b/src/data/roadmaps/postgresql-dba/content/grouping@uwd_CaeHQQ3ZWojbmtbPh.md @@ -2,7 +2,7 @@ Grouping is a powerful technique in SQL that allows you to organize and aggregate data based on common values in one or more columns. The `GROUP BY` clause is used to create groups, and the `HAVING` clause is used to filter the group based on certain conditions. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@PostgreSQL GROUP BY CLAUSE](https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY) - [@article@PostgreSQL GROUP BY](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-group-by/) diff --git a/src/data/roadmaps/postgresql-dba/content/haproxy@V8_zJRwOX9664bUvAGgff.md b/src/data/roadmaps/postgresql-dba/content/haproxy@V8_zJRwOX9664bUvAGgff.md index 61a6ee624..5e93fac71 100644 --- a/src/data/roadmaps/postgresql-dba/content/haproxy@V8_zJRwOX9664bUvAGgff.md +++ b/src/data/roadmaps/postgresql-dba/content/haproxy@V8_zJRwOX9664bUvAGgff.md @@ -2,7 +2,7 @@ HAProxy, short for High Availability Proxy, is a popular open-source software used to provide high availability, load balancing, and proxying features for TCP and HTTP-based applications. It is commonly used to improve the performance, security, and reliability of web applications, databases, and other services. When it comes to load balancing in PostgreSQL, HAProxy is a popular choice due to its flexibility and efficient performance. By distributing incoming database connections across multiple instances of your PostgreSQL cluster, HAProxy can help you achieve better performance, high availability, and fault tolerance. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@HAProxy Website](https://www.haproxy.org/) - [@article@An Introduction to HAProxy and Load Balancing Concepts](https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/hash@2yWYyXt1uLOdQg4YsgdVq.md b/src/data/roadmaps/postgresql-dba/content/hash@2yWYyXt1uLOdQg4YsgdVq.md index ddbe3688d..254ebc1d7 100644 --- a/src/data/roadmaps/postgresql-dba/content/hash@2yWYyXt1uLOdQg4YsgdVq.md +++ b/src/data/roadmaps/postgresql-dba/content/hash@2yWYyXt1uLOdQg4YsgdVq.md @@ -2,7 +2,7 @@ Hash Indexes are a type of database index that uses a hash function to map each row's key value into a fixed-length hashed key. The purpose of using a hash index is to enable quicker search operations by converting the key values into a more compact and easily searchable format. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Hash](https://www.postgresql.org/docs/current/indexes-types.html#INDEXES-TYPES-HASH) - [@article@Re-Introducing Hash Indexes in PostgreSQL](https://hakibenita.com/postgresql-hash-index) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/helm@QHbdwiMQ8otxnVIUVV2NT.md b/src/data/roadmaps/postgresql-dba/content/helm@QHbdwiMQ8otxnVIUVV2NT.md index 667d3d847..3f679e068 100644 --- a/src/data/roadmaps/postgresql-dba/content/helm@QHbdwiMQ8otxnVIUVV2NT.md +++ b/src/data/roadmaps/postgresql-dba/content/helm@QHbdwiMQ8otxnVIUVV2NT.md @@ -4,7 +4,7 @@ Helm is a popular package manager for Kubernetes that allows you to easily deplo Helm streamlines the installation process by providing ready-to-use packages called "charts". A Helm chart is a collection of YAML files, templates, and manifests, that describe an application's required resources and configurations. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Helm Website](https://helm.sh/) - [@opensource@helm/helm](https://github.com/helm/helm) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/htap@rHDlm78yroRrrAAcabEAl.md b/src/data/roadmaps/postgresql-dba/content/htap@rHDlm78yroRrrAAcabEAl.md index 288ae1fdf..c5cc2a9c2 100644 --- a/src/data/roadmaps/postgresql-dba/content/htap@rHDlm78yroRrrAAcabEAl.md +++ b/src/data/roadmaps/postgresql-dba/content/htap@rHDlm78yroRrrAAcabEAl.md @@ -2,7 +2,7 @@ Hybrid Transactional/Analytical Processing (HTAP) in PostgreSQL refers to a database system's ability to efficiently handle both Online Transaction Processing (OLTP) and Online Analytical Processing (OLAP) workloads simultaneously. PostgreSQL achieves this through its robust architecture, which supports ACID transactions for OLTP and advanced analytical capabilities for OLAP. Key features include Multi-Version Concurrency Control (MVCC) for high concurrency, partitioning and parallel query execution for performance optimization, and extensions like PL/pgSQL for complex analytics. PostgreSQL's ability to manage transactional and analytical tasks in a unified system reduces data latency and improves real-time decision-making, making it an effective platform for HTAP applications. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@HTAP: Hybrid Transactional and Analytical Processing](https://www.snowflake.com/guides/htap-hybrid-transactional-and-analytical-processing/) - [@article@What is HTAP?](https://planetscale.com/blog/what-is-htap) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/import--export-using-copy@umNNMpJh4Al1dEpT6YkrA.md b/src/data/roadmaps/postgresql-dba/content/import--export-using-copy@umNNMpJh4Al1dEpT6YkrA.md index dd6b9a62c..bc97fad32 100644 --- a/src/data/roadmaps/postgresql-dba/content/import--export-using-copy@umNNMpJh4Al1dEpT6YkrA.md +++ b/src/data/roadmaps/postgresql-dba/content/import--export-using-copy@umNNMpJh4Al1dEpT6YkrA.md @@ -4,7 +4,7 @@ In PostgreSQL, one of the fastest and most efficient ways to import and export d If you can't use the `COPY` command due to lack of privileges, consider using the `\copy` command in the `psql` client instead, which works similarly, but runs as the current user rather than the PostgreSQL server. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@COPY](https://www.postgresql.org/docs/current/sql-copy.html) - [@article@Copying Data Between Tables in PostgreSQL](https://www.atlassian.com/data/sql/copying-data-between-tables) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/indexes-and-their-usecases@Dhhyg23dBMyAKCFwZmu71.md b/src/data/roadmaps/postgresql-dba/content/indexes-and-their-usecases@Dhhyg23dBMyAKCFwZmu71.md index cc877cbec..324a8f433 100644 --- a/src/data/roadmaps/postgresql-dba/content/indexes-and-their-usecases@Dhhyg23dBMyAKCFwZmu71.md +++ b/src/data/roadmaps/postgresql-dba/content/indexes-and-their-usecases@Dhhyg23dBMyAKCFwZmu71.md @@ -2,11 +2,11 @@ Indexes in PostgreSQL improve query performance by allowing faster data retrieval. Common use cases include: -- Primary and Unique Keys: Ensure fast access to rows based on unique identifiers. -- Foreign Keys: Speed up joins between related tables. -- Search Queries: Optimize searches on large text fields with full-text search indexes. -- Range Queries: Improve performance for range-based queries on date, time, or numerical fields. -- Partial Indexes: Create indexes on a subset of data, useful for frequently queried columns with specific conditions. -- Expression Indexes: Index expressions or functions, enhancing performance for queries involving complex calculations. -- Composite Indexes: Optimize multi-column searches by indexing multiple fields together. -- GIN and GiST Indexes: Enhance performance for array, JSONB, and geometric data types. \ No newline at end of file +* Primary and Unique Keys: Ensure fast access to rows based on unique identifiers. +* Foreign Keys: Speed up joins between related tables. +* Search Queries: Optimize searches on large text fields with full-text search indexes. +* Range Queries: Improve performance for range-based queries on date, time, or numerical fields. +* Partial Indexes: Create indexes on a subset of data, useful for frequently queried columns with specific conditions. +* Expression Indexes: Index expressions or functions, enhancing performance for queries involving complex calculations. +* Composite Indexes: Optimize multi-column searches by indexing multiple fields together. +* GIN and GiST Indexes: Enhance performance for array, JSONB, and geometric data types. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md b/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md index 65bc29227..7aa60d6f8 100644 --- a/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md +++ b/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md @@ -6,4 +6,4 @@ Visit the following resources to learn more: - [@official@PostgreSQL](https://www.postgresql.org/) - [@official@PostgreSQL Documentation](https://www.postgresql.org/docs/) -- [@article@History of POSTGRES to PostgreSQL](https://www.postgresql.org/docs/current/history.html) +- [@article@History of POSTGRES to PostgreSQL](https://www.postgresql.org/docs/current/history.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/iotop@n8oHT7YwhHhFdU5_7DZ_F.md b/src/data/roadmaps/postgresql-dba/content/iotop@n8oHT7YwhHhFdU5_7DZ_F.md index 2fb9e2f25..593e6ec01 100644 --- a/src/data/roadmaps/postgresql-dba/content/iotop@n8oHT7YwhHhFdU5_7DZ_F.md +++ b/src/data/roadmaps/postgresql-dba/content/iotop@n8oHT7YwhHhFdU5_7DZ_F.md @@ -2,7 +2,7 @@ `iotop` is an essential command-line utility that provides real-time insights into the input/output (I/O) activities of processes running on your system. This tool is particularly useful when monitoring and managing your PostgreSQL database's performance, as it helps system administrators or database developers to identify processes with high I/O, leading to potential bottlenecks or server optimization opportunities. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Linux iotop Check What’s Stressing & Increasing Load On Hard Disks](https://www.cyberciti.biz/hardware/linux-iotop-simple-top-like-io-monitor/) - [@article@iotop man page](https://linux.die.net/man/1/iotop) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md b/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md index 968a10fbb..201f766d0 100644 --- a/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md +++ b/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md @@ -1,7 +1,7 @@ # Joining Tables -Joining tables is a fundamental operation in the world of databases. It allows you to combine information from multiple tables based on common columns. PostgreSQL provides various types of joins, such as Inner Join, Left Join, Right Join, and Full Outer Join. +Joining tables is a fundamental operation in the world of databases. It allows you to combine information from multiple tables based on common columns. PostgreSQL provides various types of joins, such as Inner Join, Left Join, Right Join, and Full Outer Join. -Learn more from the following resources: +Visit the following resources to learn more: -- [@official@Joins Between Tables](https://www.postgresql.org/docs/current/tutorial-join.html) +- [@official@Joins Between Tables](https://www.postgresql.org/docs/current/tutorial-join.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/keepalived@xk2G-HUS-dviNW3BAMmJv.md b/src/data/roadmaps/postgresql-dba/content/keepalived@xk2G-HUS-dviNW3BAMmJv.md index 597129e8f..c96e04dce 100644 --- a/src/data/roadmaps/postgresql-dba/content/keepalived@xk2G-HUS-dviNW3BAMmJv.md +++ b/src/data/roadmaps/postgresql-dba/content/keepalived@xk2G-HUS-dviNW3BAMmJv.md @@ -4,8 +4,8 @@ Keepalived is a robust and widely-used open-source solution for load balancing a Keepalived achieves this by utilizing the Linux Virtual Server (LVS) module and the Virtual Router Redundancy Protocol (VRRP). For PostgreSQL database systems, Keepalived can be an advantageous addition to your infrastructure by offering fault tolerance and load balancing. With minimal configuration, it distributes read-only queries among multiple replicated PostgreSQL servers or divides transaction processing across various nodes – ensuring an efficient and resilient system. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Keepalived](https://www.keepalived.org/) - [@opensource@acassen/keepalived](https://github.com/acassen/keepalived) -- [@article@Keepalived: High Availability for Self-hosted Services](https://www.virtualizationhowto.com/2023/09/keepalived-high-availability-for-self-hosted-services/) +- [@article@Keepalived: High Availability for Self-hosted Services](https://www.virtualizationhowto.com/2023/09/keepalived-high-availability-for-self-hosted-services/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/lateral-join@fTsoMSLcXU1mgd5-vekbT.md b/src/data/roadmaps/postgresql-dba/content/lateral-join@fTsoMSLcXU1mgd5-vekbT.md index 6047f26cc..2802da49e 100644 --- a/src/data/roadmaps/postgresql-dba/content/lateral-join@fTsoMSLcXU1mgd5-vekbT.md +++ b/src/data/roadmaps/postgresql-dba/content/lateral-join@fTsoMSLcXU1mgd5-vekbT.md @@ -2,7 +2,7 @@ Lateral join allows you to reference columns from preceding tables in a query, making it possible to perform complex operations that involve correlated subqueries and the application of functions on tables in a cleaner and more effective way. The `LATERAL` keyword in PostgreSQL is used in conjunction with a subquery in the `FROM` clause of a query. It helps you to write more concise and powerful queries, as it allows the subquery to reference columns from preceding tables in the query. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@LATERAL Subqueries](https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-LATERAL) - [@article@How to use lateral join in PostgreSQL](https://popsql.com/learn-sql/postgresql/how-to-use-lateral-joins-in-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/learn-sql@ANUgfkADLI_du7iRvnUdi.md b/src/data/roadmaps/postgresql-dba/content/learn-sql@ANUgfkADLI_du7iRvnUdi.md index b2b67549c..7188b8593 100644 --- a/src/data/roadmaps/postgresql-dba/content/learn-sql@ANUgfkADLI_du7iRvnUdi.md +++ b/src/data/roadmaps/postgresql-dba/content/learn-sql@ANUgfkADLI_du7iRvnUdi.md @@ -5,4 +5,4 @@ SQL stands for Structured Query Language. It is a standardized programming langu Visit the following resources to learn more: - [@roadmap@Visit Dedicated SQL Roadmap](https://roadmap.sh/sql) -- [@article@SQL Tutorial - Essential SQL For The Beginners](https://www.sqltutorial.org/) +- [@article@SQL Tutorial - Essential SQL For The Beginners](https://www.sqltutorial.org/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/lock-management@pOkafV7nDHme4jk-hA8Cn.md b/src/data/roadmaps/postgresql-dba/content/lock-management@pOkafV7nDHme4jk-hA8Cn.md index 68899d511..58390745a 100644 --- a/src/data/roadmaps/postgresql-dba/content/lock-management@pOkafV7nDHme4jk-hA8Cn.md +++ b/src/data/roadmaps/postgresql-dba/content/lock-management@pOkafV7nDHme4jk-hA8Cn.md @@ -4,7 +4,7 @@ Lock management in PostgreSQL is implemented using a lightweight mechanism that There are various types of lock modes available, such as `AccessShareLock`, `RowExclusiveLock`, `ShareUpdateExclusiveLock`, etc. Each lock mode determines the level of compatibility with other lock modes, allowing or preventing specific operations on the locked object. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Lock Management](https://www.postgresql.org/docs/current/runtime-config-locks.html) - [@article@Understanding Postgres Locks and Managing Concurrent Transactions](https://medium.com/@sonishubham65/understanding-postgres-locks-and-managing-concurrent-transactions-1ededce53d59) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/logical-replication@rmsIw9CQa1qcQ_REw76NK.md b/src/data/roadmaps/postgresql-dba/content/logical-replication@rmsIw9CQa1qcQ_REw76NK.md index 1fb96680e..9ff798bc3 100644 --- a/src/data/roadmaps/postgresql-dba/content/logical-replication@rmsIw9CQa1qcQ_REw76NK.md +++ b/src/data/roadmaps/postgresql-dba/content/logical-replication@rmsIw9CQa1qcQ_REw76NK.md @@ -2,7 +2,7 @@ Logical replication in PostgreSQL allows the selective replication of data between databases, providing flexibility in synchronizing data across different systems. Unlike physical replication, which copies entire databases or clusters, logical replication operates at a finer granularity, allowing the replication of individual tables or specific subsets of data. This is achieved through the use of replication slots and publications/subscriptions. A publication defines a set of changes (INSERT, UPDATE, DELETE) to be replicated, and a subscription subscribes to these changes from a publisher database to a subscriber database. Logical replication supports diverse use cases such as real-time data warehousing, database migration, and multi-master replication, where different nodes can handle both reads and writes. Configuration involves creating publications on the source database and corresponding subscriptions on the target database, ensuring continuous, asynchronous data flow with minimal impact on performance. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Logical Replication](https://www.postgresql.org/docs/current/logical-replication.html) - [@article@Logical Replication in PostgreSQL Explained](https://www.enterprisedb.com/postgres-tutorials/logical-replication-postgresql-explained) diff --git a/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md b/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md index 726947a0b..f2254e0a4 100644 --- a/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md +++ b/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md @@ -7,9 +7,9 @@ PostgreSQL's development community offers a variety of mailing lists for discuss Visit the following resources to learn more: - [@official@Mailing List Etiquette](https://www.postgresql.org/community/lists/etiquette/) -- [@official@pgsql-hackers Subscription](https://www.postgresql.org/list/pgsql-hackers/) -- [@official@pgsql-announce Subscription](https://www.postgresql.org/list/pgsql-announce/) -- [@official@pgsql-general Subscription](https://www.postgresql.org/list/pgsql-general/) -- [@official@pgsql-novice Subscription](https://www.postgresql.org/list/pgsql-novice/) -- [@official@pgsql-docs Subscription](https://www.postgresql.org/list/pgsql-docs/) +- [@official@pgsql-hackers Subscription](https://www.postgresql.org/list/pgsql-hackers/) +- [@official@pgsql-announce Subscription](https://www.postgresql.org/list/pgsql-announce/) +- [@official@pgsql-general Subscription](https://www.postgresql.org/list/pgsql-general/) +- [@official@pgsql-novice Subscription](https://www.postgresql.org/list/pgsql-novice/) +- [@official@pgsql-docs Subscription](https://www.postgresql.org/list/pgsql-docs/) - [@official@PostgreSQL Mailing Lists page](https://www.postgresql.org/list/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/migration-related-tools@3Lcy7kBKeV6hx9Ctp_20M.md b/src/data/roadmaps/postgresql-dba/content/migration-related-tools@3Lcy7kBKeV6hx9Ctp_20M.md index 4d5e5aadb..f0da03724 100644 --- a/src/data/roadmaps/postgresql-dba/content/migration-related-tools@3Lcy7kBKeV6hx9Ctp_20M.md +++ b/src/data/roadmaps/postgresql-dba/content/migration-related-tools@3Lcy7kBKeV6hx9Ctp_20M.md @@ -1,8 +1,8 @@ # liquibase, sqitch, Bytebase, ora2pg etc -Migrations are crucial in the lifecycle of database applications. As the application evolves, changes to the database schema and sometimes data itself become necessary. +Migrations are crucial in the lifecycle of database applications. As the application evolves, changes to the database schema and sometimes data itself become necessary. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Liquibase Website](https://www.liquibase.com/) - [@official@Sqitch Website](https://sqitch.org/) diff --git a/src/data/roadmaps/postgresql-dba/content/modifying-data@G2NKhjlZqAY9l32H0LPNQ.md b/src/data/roadmaps/postgresql-dba/content/modifying-data@G2NKhjlZqAY9l32H0LPNQ.md index d3d10340b..504140802 100644 --- a/src/data/roadmaps/postgresql-dba/content/modifying-data@G2NKhjlZqAY9l32H0LPNQ.md +++ b/src/data/roadmaps/postgresql-dba/content/modifying-data@G2NKhjlZqAY9l32H0LPNQ.md @@ -2,7 +2,7 @@ Modifying data in PostgreSQL is an essential skill when working with databases. The primary DML queries used to modify data are `INSERT`, `UPDATE`, and `DELETE`. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@INSERT](https://www.postgresql.org/docs/current/sql-insert.html) - [@official@UPDATE](https://www.postgresql.org/docs/current/sql-update.html) diff --git a/src/data/roadmaps/postgresql-dba/content/normalization--normal-forms@Fcl7AD2M6WrMbxdvnl-ub.md b/src/data/roadmaps/postgresql-dba/content/normalization--normal-forms@Fcl7AD2M6WrMbxdvnl-ub.md index 4c96e59ae..7b8f9652b 100644 --- a/src/data/roadmaps/postgresql-dba/content/normalization--normal-forms@Fcl7AD2M6WrMbxdvnl-ub.md +++ b/src/data/roadmaps/postgresql-dba/content/normalization--normal-forms@Fcl7AD2M6WrMbxdvnl-ub.md @@ -2,7 +2,7 @@ Data normalization in PostgreSQL involves organizing tables to minimize redundancy and ensure data integrity through a series of normal forms: First Normal Form (1NF) ensures each column contains atomic values and records are unique; Second Normal Form (2NF) requires that all non-key attributes are fully dependent on the primary key; Third Normal Form (3NF) eliminates transitive dependencies so non-key attributes depend only on the primary key; Boyce-Codd Normal Form (BCNF) further ensures that every determinant is a candidate key; Fourth Normal Form (4NF) removes multi-valued dependencies; and Fifth Normal Form (5NF) addresses join dependencies, ensuring tables are decomposed without loss of data integrity. These forms create a robust framework for efficient, consistent, and reliable database schema design. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@A Guide to Data Normalization in PostgreSQL ](https://www.cybertec-postgresql.com/en/data-normalization-in-postgresql/) - [@video@First normal form](https://www.youtube.com/watch?v=PCdZGzaxwXk) diff --git a/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md b/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md index 6c93e5ab4..88a016e44 100644 --- a/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md +++ b/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md @@ -6,4 +6,4 @@ Visit the following resources to learn more: - [@official@Object Model](https://www.postgresql.org/docs/current/tutorial-concepts.html) - [@article@Understanding PostgreSQL: The Power of an Object-Relational](https://medium.com/@asadbukhari886/understanding-of-postgresql-the-power-of-an-object-relational-database-b6ae349c3f40) -- [@article@PostgreSQL Server and Database Objects](https://neon.com/postgresql/postgresql-tutorial/postgresql-server-and-database-objects) +- [@article@PostgreSQL Server and Database Objects](https://neon.com/postgresql/postgresql-tutorial/postgresql-server-and-database-objects) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/object-privileges@S20aJB-VuSpXYyd0-0S8c.md b/src/data/roadmaps/postgresql-dba/content/object-privileges@S20aJB-VuSpXYyd0-0S8c.md index 8af3aa35c..10a4c05a6 100644 --- a/src/data/roadmaps/postgresql-dba/content/object-privileges@S20aJB-VuSpXYyd0-0S8c.md +++ b/src/data/roadmaps/postgresql-dba/content/object-privileges@S20aJB-VuSpXYyd0-0S8c.md @@ -2,7 +2,7 @@ Object privileges in PostgreSQL are the permissions given to different user roles to access or modify database objects like tables, views, sequences, and functions. Ensuring proper object privileges is crucial for maintaining a secure and well-functioning database. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL Roles and Privileges Explained](https://www.aviator.co/blog/postgresql-roles-and-privileges-explained/) -- [@article@What are Object Privileges?](https://www.prisma.io/dataguide/postgresql/authentication-and-authorization/managing-privileges#what-are-postgresql-object-privileges) +- [@article@What are Object Privileges?](https://www.prisma.io/dataguide/postgresql/authentication-and-authorization/managing-privileges#what-are-postgresql-object-privileges) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/olap@WI3-7hFAnJw5f7GIn-5kp.md b/src/data/roadmaps/postgresql-dba/content/olap@WI3-7hFAnJw5f7GIn-5kp.md index e3fbb3332..74f0be311 100644 --- a/src/data/roadmaps/postgresql-dba/content/olap@WI3-7hFAnJw5f7GIn-5kp.md +++ b/src/data/roadmaps/postgresql-dba/content/olap@WI3-7hFAnJw5f7GIn-5kp.md @@ -2,7 +2,7 @@ Online Analytical Processing (OLAP) in PostgreSQL refers to a class of systems designed for query-intensive tasks, typically used for data analysis and business intelligence. OLAP systems handle complex queries that aggregate large volumes of data, often from multiple sources, to support decision-making processes. PostgreSQL supports OLAP workloads through features such as advanced indexing, table partitioning, and the ability to create materialized views for faster query performance. Additionally, PostgreSQL's support for parallel query execution and extensions like Foreign Data Wrappers (FDW) and PostGIS enhance its capability to handle large datasets and spatial data, making it a robust platform for analytical applications. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Transforming Postgres into a Fast OLAP Database](https://blog.paradedb.com/pages/introducing_analytics) - [@video@Online Analytical Processing](https://www.youtube.com/watch?v=NuVAgAgemGI) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/oltp@VekAMpcrugHGuvSbyPZVv.md b/src/data/roadmaps/postgresql-dba/content/oltp@VekAMpcrugHGuvSbyPZVv.md index 92d8b054a..9181f8764 100644 --- a/src/data/roadmaps/postgresql-dba/content/oltp@VekAMpcrugHGuvSbyPZVv.md +++ b/src/data/roadmaps/postgresql-dba/content/oltp@VekAMpcrugHGuvSbyPZVv.md @@ -2,7 +2,7 @@ Online Transaction Processing (OLTP) in PostgreSQL refers to a class of systems designed to manage transaction-oriented applications, typically for data entry and retrieval transactions in database systems. OLTP systems are characterized by a large number of short online transactions (INSERT, UPDATE, DELETE), where the emphasis is on speed, efficiency, and maintaining data integrity in multi-access environments. PostgreSQL supports OLTP workloads through features like ACID compliance (Atomicity, Consistency, Isolation, Durability), MVCC (Multi-Version Concurrency Control) for high concurrency, efficient indexing, and robust transaction management. These features ensure reliable, fast, and consistent processing of high-volume, high-frequency transactions critical to OLTP applications. -Learn more from the following resources: +Visit the following resources to learn more: -- [@video@OLTP vs OLAP](https://www.youtube.com/watch?v=iw-5kFzIdgY) -- [@article@What is OLTP?](https://www.oracle.com/uk/database/what-is-oltp/) \ No newline at end of file +- [@article@What is OLTP?](https://www.oracle.com/uk/database/what-is-oltp/) +- [@video@OLTP vs OLAP](https://www.youtube.com/watch?v=iw-5kFzIdgY) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md b/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md index 0644ab0f0..38e273c32 100644 --- a/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md +++ b/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md @@ -1,6 +1,6 @@ # Operators in Kubernetes Deployment -Operators in Kubernetes are software extensions that use custom resources to manage applications and their components. They encapsulate operational knowledge and automate complex tasks such as deployments, backups, and scaling. Using Custom Resource Definitions (CRDs) and custom controllers, Operators continuously monitor the state of the application and reconcile it with the desired state, ensuring the system is self-healing and resilient. Popular frameworks for building Operators include the Operator SDK, Kubebuilder, and Metacontroller, which simplify the process and enhance Kubernetes' capability to manage stateful and complex applications efficiently. +Visit the following resources to learn more: - [@roadmap@Visit Dedicated Kubernetes Roadmap](https://roadmap.sh/kubernetes) - [@official@Kubernetes](https://kubernetes.io/) diff --git a/src/data/roadmaps/postgresql-dba/content/patroni-alternatives@TZvZ_jNjWnM535ZktyhQN.md b/src/data/roadmaps/postgresql-dba/content/patroni-alternatives@TZvZ_jNjWnM535ZktyhQN.md index f3579b067..f29c9879e 100644 --- a/src/data/roadmaps/postgresql-dba/content/patroni-alternatives@TZvZ_jNjWnM535ZktyhQN.md +++ b/src/data/roadmaps/postgresql-dba/content/patroni-alternatives@TZvZ_jNjWnM535ZktyhQN.md @@ -2,11 +2,11 @@ While Patroni is a popular choice for managing PostgreSQL clusters, there are several other tools and frameworks available that you might consider as alternatives to Patroni. Each of these has its unique set of features and benefits, and some may be better suited to your specific requirements or use-cases. -Several alternatives to Patroni exist for PostgreSQL cluster management, each with unique features catering to specific needs. **Stolon**, a cloud-native manager by Sorint.lab, ensures high availability and seamless scaling. **Pgpool-II**, by the Pgpool Global Development Group, offers load balancing, connection pooling, and high availability. **Repmgr**, developed by 2ndQuadrant, simplifies replication and cluster administration. **PAF (PostgreSQL Automatic Failover)**, created by Dalibo, provides lightweight failover management using Pacemaker and Corosync. These tools present diverse options for managing PostgreSQL clusters effectively. +Several alternatives to Patroni exist for PostgreSQL cluster management, each with unique features catering to specific needs. **Stolon**, a cloud-native manager by Sorint.lab, ensures high availability and seamless scaling. **Pgpool-II**, by the Pgpool Global Development Group, offers load balancing, connection pooling, and high availability. **Repmgr**, developed by 2ndQuadrant, simplifies replication and cluster administration. **PAF (PostgreSQL Automatic Failover)**, created by Dalibo, provides lightweight failover management using Pacemaker and Corosync. These tools present diverse options for managing PostgreSQL clusters effectively. Visit the following resources to learn more: -- [@opensources@sorintlab/stolen](https://github.com/sorintlab/stolon) - [@official@RepMgr](https://repmgr.org/) - [@official@pgPool](https://www.pgpool.net/mediawiki/index.php/Main_Page) - [@opensource@dalibo/PAF](https://github.com/dalibo/PAF) +- [@article@sorintlab/stolen](https://github.com/sorintlab/stolon) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/patroni@mm0K_8TFicrYdZQvWFkH4.md b/src/data/roadmaps/postgresql-dba/content/patroni@mm0K_8TFicrYdZQvWFkH4.md index 7e777684c..48189ad1e 100644 --- a/src/data/roadmaps/postgresql-dba/content/patroni@mm0K_8TFicrYdZQvWFkH4.md +++ b/src/data/roadmaps/postgresql-dba/content/patroni@mm0K_8TFicrYdZQvWFkH4.md @@ -2,6 +2,6 @@ Patroni is an open-source tool that automates the setup, management, and failover of PostgreSQL clusters, ensuring high availability. It leverages distributed configuration stores like Etcd, Consul, or ZooKeeper to maintain cluster state and manage leader election. Patroni continuously monitors the health of PostgreSQL instances, automatically promoting a replica to primary if the primary fails, minimizing downtime. It simplifies the complexity of managing PostgreSQL high availability by providing built-in mechanisms for replication, failover, and recovery, making it a robust solution for maintaining PostgreSQL clusters in production environments. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@zalando/patroni](https://github.com/zalando/patroni) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/patterns--antipatterns@rnXcM62rgq3p6FQ9AWW1R.md b/src/data/roadmaps/postgresql-dba/content/patterns--antipatterns@rnXcM62rgq3p6FQ9AWW1R.md index 3a043fcbf..fa3d82bcb 100644 --- a/src/data/roadmaps/postgresql-dba/content/patterns--antipatterns@rnXcM62rgq3p6FQ9AWW1R.md +++ b/src/data/roadmaps/postgresql-dba/content/patterns--antipatterns@rnXcM62rgq3p6FQ9AWW1R.md @@ -2,7 +2,7 @@ Practical patterns for implementing queues in PostgreSQL include using a dedicated table to store queue items, leveraging the `FOR` `UPDATE` `SKIP` `LOCKED` clause to safely dequeue items without conflicts, and partitioning tables to manage large volumes of data efficiently. Employing batch processing can also enhance performance by processing multiple queue items in a single transaction. Antipatterns to avoid include using high-frequency polling, which can lead to excessive database load, and not handling concurrency properly, which can result in data races and deadlocks. Additionally, storing large payloads directly in the queue table can degrade performance; instead, store references to the payloads. By following these patterns and avoiding antipatterns, you can build efficient and reliable queuing systems in PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Postgres as Queue](https://leontrolski.github.io/postgres-as-queue.html) - [@video@Can PostgreSQL Replace Your Messaging Queue?](https://www.youtube.com/watch?v=IDb2rKhzzt8) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/per-user-per-database-setting@msm4QCAA-MRVI1psf6tt3.md b/src/data/roadmaps/postgresql-dba/content/per-user-per-database-setting@msm4QCAA-MRVI1psf6tt3.md index 41b4969a1..0fcdbe91c 100644 --- a/src/data/roadmaps/postgresql-dba/content/per-user-per-database-setting@msm4QCAA-MRVI1psf6tt3.md +++ b/src/data/roadmaps/postgresql-dba/content/per-user-per-database-setting@msm4QCAA-MRVI1psf6tt3.md @@ -2,9 +2,9 @@ In PostgreSQL, per-user and per-database settings allow administrators to customize configurations for specific users or databases, enhancing performance and management. These settings are managed using the ALTER ROLE and ALTER DATABASE commands. -These commands store the settings in the system catalog and apply them whenever the user connects to the database or the database is accessed. Commonly customized parameters include search_path, work_mem, and maintenance_work_mem, allowing fine-tuned control over query performance and resource usage tailored to specific needs. +These commands store the settings in the system catalog and apply them whenever the user connects to the database or the database is accessed. Commonly customized parameters include search\_path, work\_mem, and maintenance\_work\_mem, allowing fine-tuned control over query performance and resource usage tailored to specific needs. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@ALTER ROLE](https://www.postgresql.org/docs/current/sql-alterrole.html) -- [@official@ALTER DATABASE](https://www.postgresql.org/docs/current/sql-alterdatabase.html) +- [@official@ALTER DATABASE](https://www.postgresql.org/docs/current/sql-alterdatabase.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/perf-tools@wH447bS-csqmGbk-jaGqp.md b/src/data/roadmaps/postgresql-dba/content/perf-tools@wH447bS-csqmGbk-jaGqp.md index bc9e724c0..421b1954e 100644 --- a/src/data/roadmaps/postgresql-dba/content/perf-tools@wH447bS-csqmGbk-jaGqp.md +++ b/src/data/roadmaps/postgresql-dba/content/perf-tools@wH447bS-csqmGbk-jaGqp.md @@ -2,7 +2,7 @@ Perf tools is a suite of performance analysis tools that comes as part of the Linux kernel. It enables you to monitor various performance-related events happening in your system, such as CPU cycles, instructions executed, cache misses, and other hardware-related metrics. These tools can be helpful in understanding the bottlenecks and performance issues in your PostgreSQL instance and can be used to discover areas of improvement. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Profiling with Linux perf tool](https://mariadb.com/kb/en/profiling-with-linux-perf-tool/) -- [@official@perf: Linux profiling with performance counters ](https://perf.wiki.kernel.org/index.php/Main_Page) \ No newline at end of file +- [@official@perf: Linux profiling with performance counters ](https://perf.wiki.kernel.org/index.php/Main_Page) +- [@article@Profiling with Linux perf tool](https://mariadb.com/kb/en/profiling-with-linux-perf-tool/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pev2@9RyMU36KEP__-RzTTz_eo.md b/src/data/roadmaps/postgresql-dba/content/pev2@9RyMU36KEP__-RzTTz_eo.md index 4e9a4afeb..12e70bd4a 100644 --- a/src/data/roadmaps/postgresql-dba/content/pev2@9RyMU36KEP__-RzTTz_eo.md +++ b/src/data/roadmaps/postgresql-dba/content/pev2@9RyMU36KEP__-RzTTz_eo.md @@ -1,7 +1,7 @@ # PEV2 -`pev2`, or *Postgres Explain Visualizer v2*, is an open-source tool designed to make query analysis with PostgreSQL easier and more understandable. By providing a visual representation of the `EXPLAIN ANALYZE` output, `pev2` simplifies query optimization by displaying the query plan and execution metrics in a readable structure. +`pev2`, or _Postgres Explain Visualizer v2_, is an open-source tool designed to make query analysis with PostgreSQL easier and more understandable. By providing a visual representation of the `EXPLAIN ANALYZE` output, `pev2` simplifies query optimization by displaying the query plan and execution metrics in a readable structure. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@dalibo/pev2](https://github.com/dalibo/pev2) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_basebackup@XYaVsj5_48CSnoTSGXBbN.md b/src/data/roadmaps/postgresql-dba/content/pg_basebackup@XYaVsj5_48CSnoTSGXBbN.md index df051b005..e6f254e22 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_basebackup@XYaVsj5_48CSnoTSGXBbN.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_basebackup@XYaVsj5_48CSnoTSGXBbN.md @@ -2,7 +2,7 @@ `pg_basebackup` is a utility for creating a physical backup of a PostgreSQL database cluster. It generates a consistent backup of the entire database cluster by copying data files while ensuring write operations do not interfere. Typically used for setting up streaming replication or disaster recovery, `pg_basebackup` can be run in parallel mode to speed up the process and can output backups in tar format or as a plain directory. It ensures minimal disruption to database operations during the backup process. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_basebackup](https://www.postgresql.org/docs/current/app-pgbasebackup.html) - [@article@Understanding the new pg_basebackup options](https://www.postgresql.fastware.com/blog/understanding-the-new-pg_basebackup-options) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_dump@XZ922juBJ8Om0WyGtSYT5.md b/src/data/roadmaps/postgresql-dba/content/pg_dump@XZ922juBJ8Om0WyGtSYT5.md index aa2f669a7..c1301814c 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_dump@XZ922juBJ8Om0WyGtSYT5.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_dump@XZ922juBJ8Om0WyGtSYT5.md @@ -2,7 +2,7 @@ `pg_dump` is a utility for backing up a PostgreSQL database by exporting its data and schema. Unlike `pg_basebackup`, which takes a physical backup of the entire cluster, `pg_dump` produces a logical backup of a single database. It can output data in various formats, including plain SQL, custom, directory, and tar, allowing for flexible restore options. `pg_dump` can be used to selectively backup specific tables, schemas, or data, making it suitable for tasks like migrating databases or creating development copies. The utility ensures the backup is consistent by using the database's built-in mechanisms to capture a snapshot of the data at the time of the dump. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_dump](https://www.postgresql.org/docs/current/app-pgdump.html) - [@article@pg_dump - VMWare](https://docs.vmware.com/en/VMware-Greenplum/5/greenplum-database/utility_guide-client_utilities-pg_dump.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_dumpall@QmV-J6fPYQ5CcdGUkBs7y.md b/src/data/roadmaps/postgresql-dba/content/pg_dumpall@QmV-J6fPYQ5CcdGUkBs7y.md index 11627d6bb..e0996358b 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_dumpall@QmV-J6fPYQ5CcdGUkBs7y.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_dumpall@QmV-J6fPYQ5CcdGUkBs7y.md @@ -2,7 +2,7 @@ `pg_dumpall` is a utility for backing up all databases in a PostgreSQL cluster, including cluster-wide data such as roles and tablespaces. It creates a plain text SQL script file that contains the commands to recreate the cluster's databases and their contents, as well as the global objects. This utility is useful for comprehensive backups where both database data and cluster-wide settings need to be preserved. Unlike `pg_dump`, which targets individual databases, `pg_dumpall` ensures that the entire PostgreSQL cluster can be restored from the backup, making it essential for complete disaster recovery scenarios. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_dumpall](https://www.postgresql.org/docs/current/app-pg-dumpall.html) - [@article@pg_dump & pg_dumpall](https://www.postgresqltutorial.com/postgresql-administration/postgresql-backup-database/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_hbaconf@Y2W29M4piaQsTn2cpyR7Q.md b/src/data/roadmaps/postgresql-dba/content/pg_hbaconf@Y2W29M4piaQsTn2cpyR7Q.md index 8543139bd..81e5d635f 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_hbaconf@Y2W29M4piaQsTn2cpyR7Q.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_hbaconf@Y2W29M4piaQsTn2cpyR7Q.md @@ -1,7 +1,7 @@ # PostgreSQL Security: pg_hba.conf -When securing your PostgreSQL database, one of the most important components to configure is the `pg_hba.conf` (short for PostgreSQL Host-Based Authentication Configuration) file. This file is a part of PostgreSQL's Host-Based Authentication (HBA) system and is responsible for controlling how clients authenticate and connect to your database. +When securing your PostgreSQL database, one of the most important components to configure is the `pg_hba.conf` (short for PostgreSQL Host-Based Authentication Configuration) file. This file is a part of PostgreSQL's Host-Based Authentication (HBA) system and is responsible for controlling how clients authenticate and connect to your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@The pg_hba.conf file](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_probackup@Id_17Ya-NUvoXxijAZvmW.md b/src/data/roadmaps/postgresql-dba/content/pg_probackup@Id_17Ya-NUvoXxijAZvmW.md index 8e16318c4..df7933a27 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_probackup@Id_17Ya-NUvoXxijAZvmW.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_probackup@Id_17Ya-NUvoXxijAZvmW.md @@ -2,7 +2,7 @@ `pg_probackup` is a backup and recovery manager for PostgreSQL, designed to handle periodic backups of PostgreSQL clusters. It supports incremental backups, merge strategies to avoid frequent full backups, validation, and parallelization for efficiency. It also offers features like backup from standby servers, remote operations, and compression. With support for PostgreSQL versions 11 through 16, it enables comprehensive management of backups and WAL archives, ensuring data integrity and efficient recovery processes. -Learn more from the following resources: +Visit the following resources to learn more: -- [@opensource@postgrespro/pg_probackup](https://github.com/postgrespro/pg_probackup) -- [@official@PostgresPro Website](https://postgrespro.com/products/extensions/pg_probackup) \ No newline at end of file +- [@official@PostgresPro Website](https://postgrespro.com/products/extensions/pg_probackup) +- [@opensource@postgrespro/pg_probackup](https://github.com/postgrespro/pg_probackup) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_restore@YSprRhPHkzV8SzDYpIVmp.md b/src/data/roadmaps/postgresql-dba/content/pg_restore@YSprRhPHkzV8SzDYpIVmp.md index fe03d3611..e2b11dcac 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_restore@YSprRhPHkzV8SzDYpIVmp.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_restore@YSprRhPHkzV8SzDYpIVmp.md @@ -1,6 +1,6 @@ # pg_restore -`pg_restore` is a utility for restoring PostgreSQL database backups created by `pg_dump` in non-plain-text formats (custom, directory, or tar). It allows for selective restoration of database objects such as tables, schemas, or indexes, providing flexibility to restore specific parts of the database. `pg_restore` can also be used to reorder data load operations, create indexes and constraints after data load, and parallelize the restore process to speed up recovery. This utility ensures efficient and customizable restoration from logical backups. +Visit the following resources to learn more: - [@official@pg_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) - [@article@A guide to pg_restore](https://www.timescale.com/learn/a-guide-to-pg_restore-and-pg_restore-example) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_stat_activity@_NL5pGGTLNxCFx4axOqfu.md b/src/data/roadmaps/postgresql-dba/content/pg_stat_activity@_NL5pGGTLNxCFx4axOqfu.md index 6b6d41498..02469db90 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_stat_activity@_NL5pGGTLNxCFx4axOqfu.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_stat_activity@_NL5pGGTLNxCFx4axOqfu.md @@ -2,7 +2,7 @@ `pg_stat_activity` is a crucial system view in PostgreSQL that provides real-time information on current database connections and queries being executed. This view is immensely helpful when troubleshooting performance issues, identifying long-running or idle transactions, and managing the overall health of the database. `pg_stat_activity` provides you with valuable insights into database connections and queries, allowing you to monitor, diagnose, and act accordingly to maintain a robust and optimally performing system. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_state_activity](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW) - [@article@Understanding pg_stat_activity](https://www.depesz.com/2022/07/05/understanding-pg_stat_activity/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pg_stat_statements@wLMGOUaULW7ZALRr-shTz.md b/src/data/roadmaps/postgresql-dba/content/pg_stat_statements@wLMGOUaULW7ZALRr-shTz.md index cc8ddd28c..d98ea8aea 100644 --- a/src/data/roadmaps/postgresql-dba/content/pg_stat_statements@wLMGOUaULW7ZALRr-shTz.md +++ b/src/data/roadmaps/postgresql-dba/content/pg_stat_statements@wLMGOUaULW7ZALRr-shTz.md @@ -2,7 +2,7 @@ **Pg Stat Statements** is a system view in PostgreSQL that provides detailed statistics on the execution of SQL queries. It is particularly useful for developers and database administrators to identify performance bottlenecks, optimize query performance, and troubleshoot issues. This view can be queried directly or accessed through various administration tools. To use Pg Stat Statements, you need to enable the `pg_stat_statements` extension by adding the following line to the `postgresql.conf` configuration file. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_stat_statements](https://www.postgresql.org/docs/current/pgstatstatements.html) - [@article@Using pg_stat_statements to Optimize Queries](https://www.timescale.com/blog/using-pg-stat-statements-to-optimize-queries/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgbackrest@5LLYxCj22RE6Nf0fVm8GO.md b/src/data/roadmaps/postgresql-dba/content/pgbackrest@5LLYxCj22RE6Nf0fVm8GO.md index bcaba42da..c98750a80 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgbackrest@5LLYxCj22RE6Nf0fVm8GO.md +++ b/src/data/roadmaps/postgresql-dba/content/pgbackrest@5LLYxCj22RE6Nf0fVm8GO.md @@ -1,6 +1,6 @@ # pgBackRest: A Comprehensive Backup and Recovery Solution -pgBackRest is a robust backup and restore solution for PostgreSQL, designed for high performance and reliability. It supports full, differential, and incremental backups, and provides features like parallel processing, backup validation, and compression to optimize storage and speed. pgBackRest also includes support for point-in-time recovery (PITR), encryption, and remote operations. Its configuration flexibility and extensive documentation make it suitable for various PostgreSQL deployment scenarios, ensuring efficient data protection and disaster recovery. +Visit the following resources to learn more: - [@official@pgBackRest documentation](https://pgbackrest.org) - [@opensource@pgbackrest/pgbackrest](https://github.com/pgbackrest/pgbackrest) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgbadger@V2iW8tJQXwsRknnZXoHGd.md b/src/data/roadmaps/postgresql-dba/content/pgbadger@V2iW8tJQXwsRknnZXoHGd.md index a148025db..08a611939 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgbadger@V2iW8tJQXwsRknnZXoHGd.md +++ b/src/data/roadmaps/postgresql-dba/content/pgbadger@V2iW8tJQXwsRknnZXoHGd.md @@ -2,7 +2,7 @@ PgBadger is a fast, efficient PostgreSQL log analyzer and report generator. It parses PostgreSQL log files to generate detailed reports on database performance, query statistics, connection information, and more. PgBadger supports various log formats and provides insights into slow queries, index usage, and overall database activity. Its reports, typically in HTML format, include visual charts and graphs for easy interpretation. PgBadger is valuable for database administrators looking to optimize performance and troubleshoot issues based on log data. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@darold/pgbadger](https://github.com/darold/pgbadger) - [@article@PGBadger - Postgresql log analysis made easy](https://dev.to/full_stack_adi/pgbadger-postgresql-log-analysis-made-easy-54ki) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgbouncer-alternatives@3V1PPIeB0i9qNUsT8-4O-.md b/src/data/roadmaps/postgresql-dba/content/pgbouncer-alternatives@3V1PPIeB0i9qNUsT8-4O-.md index 11afb0d9f..69e9e78eb 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgbouncer-alternatives@3V1PPIeB0i9qNUsT8-4O-.md +++ b/src/data/roadmaps/postgresql-dba/content/pgbouncer-alternatives@3V1PPIeB0i9qNUsT8-4O-.md @@ -2,8 +2,8 @@ Pgpool-II, HAProxy, and Odyssey are prominent tools for enhancing PostgreSQL performance and availability. **Pgpool-II** is a versatile connection pooler offering load balancing, replication, and connection limits to optimize performance. **HAProxy** excels as a load balancer for distributing connections across PostgreSQL servers, featuring health checks and SSL/TLS support for secure, high-availability setups. **Odyssey**, developed by Yandex, is a multithreaded connection pooler designed for high-performance deployments, providing advanced routing, transparent SSL, and load balancing capabilities tailored for large-scale systems. -Learn more from the following resources: +Visit the following resources to learn more: -- [@opensource@yandex/odyssey](https://github.com/yandex/odyssey) - [@official@HAProxy Website](http://www.haproxy.org/) -- [@official@PGPool Website](https://www.pgpool.net/mediawiki/index.php/Main_Page) \ No newline at end of file +- [@official@PGPool Website](https://www.pgpool.net/mediawiki/index.php/Main_Page) +- [@opensource@yandex/odyssey](https://github.com/yandex/odyssey) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgbouncer@aKQI7aX4bT_39bZgjmfoW.md b/src/data/roadmaps/postgresql-dba/content/pgbouncer@aKQI7aX4bT_39bZgjmfoW.md index bf17522a2..05f833031 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgbouncer@aKQI7aX4bT_39bZgjmfoW.md +++ b/src/data/roadmaps/postgresql-dba/content/pgbouncer@aKQI7aX4bT_39bZgjmfoW.md @@ -1,6 +1,6 @@ # PgBouncer -PgBouncer is a lightweight connection pooler for PostgreSQL, designed to reduce the overhead associated with establishing new database connections. It sits between the client and the PostgreSQL server, maintaining a pool of active connections that clients can reuse, thus improving performance and resource utilization. PgBouncer supports multiple pooling modes, including session pooling, transaction pooling, and statement pooling, catering to different use cases and workloads. It is highly configurable, allowing for fine-tuning of connection limits, authentication methods, and other parameters to optimize database access and performance. +Visit the following resources to learn more: - [@official@PgBouncer Website](https://www.pgbouncer.org/) - [@opensource@pgbouncer/pgbouncer](https://github.com/pgbouncer/pgbouncer) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgcenter@TytU0IpWgwhr4w4W4H3Vx.md b/src/data/roadmaps/postgresql-dba/content/pgcenter@TytU0IpWgwhr4w4W4H3Vx.md index 43f9c257c..7059f1323 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgcenter@TytU0IpWgwhr4w4W4H3Vx.md +++ b/src/data/roadmaps/postgresql-dba/content/pgcenter@TytU0IpWgwhr4w4W4H3Vx.md @@ -2,6 +2,6 @@ `pgcenter` is a command-line tool that provides real-time monitoring and management for PostgreSQL databases. It offers a convenient interface for tracking various aspects of database performance, allowing users to quickly identify bottlenecks, slow queries, and other potential issues. With its numerous features and easy-to-use interface, `pgcenter` is an essential tool in the toolbox of anyone working with PostgreSQL databases. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@lesovsky/pgcenter](https://github.com/lesovsky/pgcenter) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgcluu@ISuU1lWH_zVDlCHnWXbf9.md b/src/data/roadmaps/postgresql-dba/content/pgcluu@ISuU1lWH_zVDlCHnWXbf9.md index b1b2b1f17..a27a4e573 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgcluu@ISuU1lWH_zVDlCHnWXbf9.md +++ b/src/data/roadmaps/postgresql-dba/content/pgcluu@ISuU1lWH_zVDlCHnWXbf9.md @@ -2,7 +2,7 @@ PgCluu is a powerful and easy-to-use PostgreSQL performance monitoring and tuning tool. This open-source program collects statistics and provides various metrics in order to analyze PostgreSQL databases, helping you discover performance bottlenecks and optimize your cluster's performance. Apart from PostgreSQL-specific settings, you can also tweak other options, such as the RRDtool's data file format (JPG or SVG), time range for graphs, and more. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pgCluu Website](https://pgcluu.darold.net/) - [@opensource@darold/pgcluu](https://github.com/darold/pgcluu) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/pgq@WCBWPubUS84r3tOXpnZT3.md b/src/data/roadmaps/postgresql-dba/content/pgq@WCBWPubUS84r3tOXpnZT3.md index 0345e5fa1..d38714792 100644 --- a/src/data/roadmaps/postgresql-dba/content/pgq@WCBWPubUS84r3tOXpnZT3.md +++ b/src/data/roadmaps/postgresql-dba/content/pgq@WCBWPubUS84r3tOXpnZT3.md @@ -2,6 +2,6 @@ Skytools is a set of tools developed by Skype to assist with using PostgreSQL databases. One of the key components of Skytools is PGQ, a queuing system built on top of PostgreSQL that provides efficient and reliable data processing. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@PgQ — Generic Queue for PostgreSQL](https://github.com/pgq) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/physical-storage-and-file-layout@gweDHAB58gKswdwfpnRQT.md b/src/data/roadmaps/postgresql-dba/content/physical-storage-and-file-layout@gweDHAB58gKswdwfpnRQT.md index b6f511f4f..d1170881d 100644 --- a/src/data/roadmaps/postgresql-dba/content/physical-storage-and-file-layout@gweDHAB58gKswdwfpnRQT.md +++ b/src/data/roadmaps/postgresql-dba/content/physical-storage-and-file-layout@gweDHAB58gKswdwfpnRQT.md @@ -2,7 +2,7 @@ PostgreSQL's physical storage and file layout optimize data management and performance through a structured organization within the data directory, which includes subdirectories like `base` for individual databases, `global` for cluster-wide tables, `pg_wal` for Write-Ahead Logs ensuring durability, and `pg_tblspc` for tablespaces allowing flexible storage management. Key configuration files like `postgresql.conf`, `pg_hba.conf`, and `pg_ident.conf` are also located here. This layout facilitates efficient data handling, recovery, and maintenance, ensuring robust database operations. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@What is $PGDATA in PostgreSQL?](https://stackoverflow.com/questions/26851709/what-is-pgdata-in-postgresql) -- [@official@TOAST](https://www.postgresql.org/docs/current/storage-toast.html) \ No newline at end of file +- [@official@TOAST](https://www.postgresql.org/docs/current/storage-toast.html) +- [@article@What is $PGDATA in PostgreSQL?](https://stackoverflow.com/questions/26851709/what-is-pgdata-in-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/plpgsql@Ur23UVs_nXaltytF1WJD8.md b/src/data/roadmaps/postgresql-dba/content/plpgsql@Ur23UVs_nXaltytF1WJD8.md index 6844b282a..c4e78807b 100644 --- a/src/data/roadmaps/postgresql-dba/content/plpgsql@Ur23UVs_nXaltytF1WJD8.md +++ b/src/data/roadmaps/postgresql-dba/content/plpgsql@Ur23UVs_nXaltytF1WJD8.md @@ -2,7 +2,7 @@ `PL/pgSQL` is a procedural language for the PostgreSQL database system that enables you to create stored procedures and functions using conditionals, loops, and other control structures, similar to a traditional programming language. Using PL/pgSQL, you can perform complex operations on the server-side, reducing the need to transfer data between the server and client. This can significantly improve performance, and it enables you to encapsulate and modularize your logic within the database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@PL/pgSQL — SQL Procedural Language](https://www.postgresql.org/docs/current/plpgsql.html) - [@article@PostgreSQL PL/pgSQL](https://www.postgresqltutorial.com/postgresql-plpgsql/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/postgresql-anonymizer@Z2PuOmgOqScGFbhvrvrA1.md b/src/data/roadmaps/postgresql-dba/content/postgresql-anonymizer@Z2PuOmgOqScGFbhvrvrA1.md index 2ae82d339..344167730 100644 --- a/src/data/roadmaps/postgresql-dba/content/postgresql-anonymizer@Z2PuOmgOqScGFbhvrvrA1.md +++ b/src/data/roadmaps/postgresql-dba/content/postgresql-anonymizer@Z2PuOmgOqScGFbhvrvrA1.md @@ -1,6 +1,6 @@ # PostgreSQL Anonymizer -PostgreSQL Anonymizer is an extension designed to mask or anonymize sensitive data within PostgreSQL databases. It provides various anonymization techniques, including randomization, generalization, and pseudonymization, to protect personal and sensitive information in compliance with data privacy regulations like GDPR. This extension can be configured to apply these techniques to specific columns or datasets, ensuring that the anonymized data remains useful for development, testing, or analysis without exposing actual sensitive information. +Visit the following resources to learn more: -- [@opensource@dalibo/postgresql_anonymizer](https://github.com/dalibo/postgresql_anonymizer) -- [@official@PostgreSQL Anonymizer Website](https://postgresql-anonymizer.readthedocs.io/en/stable/) \ No newline at end of file +- [@official@PostgreSQL Anonymizer Website](https://postgresql-anonymizer.readthedocs.io/en/stable/) +- [@opensource@dalibo/postgresql_anonymizer](https://github.com/dalibo/postgresql_anonymizer) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/postgresql-vs-nosql-databases@D0doJTtLu-1MmFOfavCXN.md b/src/data/roadmaps/postgresql-dba/content/postgresql-vs-nosql-databases@D0doJTtLu-1MmFOfavCXN.md index fa04a1654..507bca11d 100644 --- a/src/data/roadmaps/postgresql-dba/content/postgresql-vs-nosql-databases@D0doJTtLu-1MmFOfavCXN.md +++ b/src/data/roadmaps/postgresql-dba/content/postgresql-vs-nosql-databases@D0doJTtLu-1MmFOfavCXN.md @@ -2,7 +2,7 @@ PostgreSQL, a powerful open-source relational database system, excels in handling complex queries, ensuring data integrity, and supporting ACID transactions, making it ideal for applications requiring intricate data relationships and strong consistency. It offers advanced features like JSON support for semi-structured data, full-text search, and extensive indexing capabilities. In contrast, NoSQL databases, such as MongoDB or Cassandra, prioritize scalability and flexibility, often supporting schema-less designs that make them suitable for handling unstructured or semi-structured data and high-velocity workloads. These databases are typically used in scenarios requiring rapid development, horizontal scaling, and high availability, often at the cost of reduced consistency guarantees compared to PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What’s the Difference Between MongoDB and PostgreSQL?](https://aws.amazon.com/compare/the-difference-between-mongodb-and-postgresql/) -- [@article@MongoDB vs PostgreSQL: 15 Critical Differences](https://kinsta.com/blog/mongodb-vs-postgresql/) \ No newline at end of file +- [@article@MongoDB vs. PostgreSQL: Key differences and when to use each](https://roadmap.sh/mongodb/vs-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/postgresql-vs-other-rdbms@IAKERTzTpTds5kZLMCapM.md b/src/data/roadmaps/postgresql-dba/content/postgresql-vs-other-rdbms@IAKERTzTpTds5kZLMCapM.md index c55dd46ac..25ff20ba4 100644 --- a/src/data/roadmaps/postgresql-dba/content/postgresql-vs-other-rdbms@IAKERTzTpTds5kZLMCapM.md +++ b/src/data/roadmaps/postgresql-dba/content/postgresql-vs-other-rdbms@IAKERTzTpTds5kZLMCapM.md @@ -2,7 +2,7 @@ PostgreSQL stands out among other RDBMS options due to its open-source nature, advanced features, and robust performance. Unlike proprietary systems like Oracle or Microsoft SQL Server, PostgreSQL is free to use and highly extensible, allowing users to add custom functions, data types, and operators. It supports a wide range of indexing techniques and provides advanced features such as full-text search, JSON support, and geographic information system (GIS) capabilities through PostGIS. Additionally, PostgreSQL's strong adherence to SQL standards ensures compatibility and ease of migration. While systems like MySQL are also popular and known for their speed in read-heavy environments, PostgreSQL often surpasses them in terms of functionality and compliance with ACID properties, making it a versatile choice for complex, transactional applications. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL vs MySQL: The Critical Differences](https://www.integrate.io/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case/) - [@article@Whats the difference between PostgreSQL and MySQL?](https://aws.amazon.com/compare/the-difference-between-mysql-vs-postgresql/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/practical-patterns--antipatterns@AtZcMhy2Idmgonp5O8RSQ.md b/src/data/roadmaps/postgresql-dba/content/practical-patterns--antipatterns@AtZcMhy2Idmgonp5O8RSQ.md index db8c058bb..e489d2091 100644 --- a/src/data/roadmaps/postgresql-dba/content/practical-patterns--antipatterns@AtZcMhy2Idmgonp5O8RSQ.md +++ b/src/data/roadmaps/postgresql-dba/content/practical-patterns--antipatterns@AtZcMhy2Idmgonp5O8RSQ.md @@ -2,7 +2,7 @@ Practical patterns for PostgreSQL migrations include using version control tools like Liquibase or Flyway to manage schema changes, applying incremental updates to minimize risk, maintaining backward compatibility during transitions, and employing zero-downtime techniques like rolling updates. Data migration scripts should be thoroughly tested in staging environments to ensure accuracy. Employing transactional DDL statements helps ensure atomic changes, while monitoring and having rollback plans in place can quickly address any issues. These strategies ensure smooth, reliable migrations with minimal application disruption. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Liquibase Website](https://www.liquibase.com/) - [@official@Flyway Website](https://flywaydb.org/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/procedures-and-functions@LiF2Yh818D-zEF58v5Fgr.md b/src/data/roadmaps/postgresql-dba/content/procedures-and-functions@LiF2Yh818D-zEF58v5Fgr.md index a707ec2d3..855893a4a 100644 --- a/src/data/roadmaps/postgresql-dba/content/procedures-and-functions@LiF2Yh818D-zEF58v5Fgr.md +++ b/src/data/roadmaps/postgresql-dba/content/procedures-and-functions@LiF2Yh818D-zEF58v5Fgr.md @@ -2,7 +2,7 @@ In PostgreSQL, functions and procedures encapsulate reusable logic within the database to enhance performance and maintain organization. Functions return a value or a table, take input parameters, and are used in SQL queries, defined with `CREATE FUNCTION`. Procedures, introduced in PostgreSQL 11, do not return values but can perform actions and include transaction control commands like `COMMIT` and `ROLLBACK`, defined with `CREATE PROCEDURE` and called using the `CALL` statement. Key differences include functions' mandatory return value and integration in SQL queries, while procedures focus on performing operations and managing transactions. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@CREATE PROCEDURE](https://www.postgresql.org/docs/current/sql-createprocedure.html) - [@official@CREATE FUNCTION](https://www.postgresql.org/docs/current/sql-createfunction.html) diff --git a/src/data/roadmaps/postgresql-dba/content/processes--memory-architecture@v2J6PZT0fHvqA7GwlqBU7.md b/src/data/roadmaps/postgresql-dba/content/processes--memory-architecture@v2J6PZT0fHvqA7GwlqBU7.md index bfbcef438..883a45f5b 100644 --- a/src/data/roadmaps/postgresql-dba/content/processes--memory-architecture@v2J6PZT0fHvqA7GwlqBU7.md +++ b/src/data/roadmaps/postgresql-dba/content/processes--memory-architecture@v2J6PZT0fHvqA7GwlqBU7.md @@ -2,12 +2,12 @@ PostgreSQL’s process memory architecture is designed to efficiently manage resources and ensure performance. It consists of several key components: -- Shared Memory: This is used for data that needs to be accessed by all server processes, such as the shared buffer pool (shared_buffers), which caches frequently accessed data pages, and the Write-Ahead Log (WAL) buffers (wal_buffers), which store transaction log data before it is written to disk. -- Local Memory: Each PostgreSQL backend process (one per connection) has its own local memory for handling query execution. Key components include the work memory (work_mem) for sorting operations and hash tables, and the maintenance work memory (maintenance_work_mem) for maintenance tasks like vacuuming and index creation. -- Process-specific Memory: Each process allocates memory dynamically as needed for tasks like query parsing, planning, and execution. Memory contexts within each process ensure efficient memory usage and cleanup. -- Temporary Files: For operations that exceed available memory, such as large sorts or hash joins, PostgreSQL spills data to temporary files on disk. +* Shared Memory: This is used for data that needs to be accessed by all server processes, such as the shared buffer pool (shared\_buffers), which caches frequently accessed data pages, and the Write-Ahead Log (WAL) buffers (wal\_buffers), which store transaction log data before it is written to disk. +* Local Memory: Each PostgreSQL backend process (one per connection) has its own local memory for handling query execution. Key components include the work memory (work\_mem) for sorting operations and hash tables, and the maintenance work memory (maintenance\_work\_mem) for maintenance tasks like vacuuming and index creation. +* Process-specific Memory: Each process allocates memory dynamically as needed for tasks like query parsing, planning, and execution. Memory contexts within each process ensure efficient memory usage and cleanup. +* Temporary Files: For operations that exceed available memory, such as large sorts or hash joins, PostgreSQL spills data to temporary files on disk. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Understanding PostgreSQL Shared Memory](https://stackoverflow.com/questions/32930787/understanding-postgresql-shared-memory) - [@article@Understanding The Process and Memory Architecture of PostgreSQL](https://dev.to/titoausten/understanding-the-process-and-memory-architecture-of-postgresql-5hhp) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/prometheus@XmBeM01NAy-_nfyNdk9ZV.md b/src/data/roadmaps/postgresql-dba/content/prometheus@XmBeM01NAy-_nfyNdk9ZV.md index 65cc46f94..9b6ad2492 100644 --- a/src/data/roadmaps/postgresql-dba/content/prometheus@XmBeM01NAy-_nfyNdk9ZV.md +++ b/src/data/roadmaps/postgresql-dba/content/prometheus@XmBeM01NAy-_nfyNdk9ZV.md @@ -2,7 +2,7 @@ Prometheus is an open-source systems monitoring and alerting toolkit designed for reliability and scalability. Originally developed at SoundCloud, it is now a part of the Cloud Native Computing Foundation. Prometheus collects metrics from configured targets at specified intervals, evaluates rule expressions, displays results, and can trigger alerts if certain conditions are met. It features a powerful query language called PromQL, a multi-dimensional data model based on time-series data identified by metric names and key/value pairs, and an efficient storage system. Prometheus is highly adaptable, supporting service discovery mechanisms and static configurations, making it a robust choice for monitoring dynamic cloud environments and microservices architectures. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Prometheus Website](https://prometheus.io/) - [@article@Prometheus Monitoring](https://www.tigera.io/learn/guides/prometheus-monitoring/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md b/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md index b2e5a5a16..aaa368c5f 100644 --- a/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md +++ b/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md @@ -2,7 +2,7 @@ Puppet is an open-source software configuration management tool that enables system administrators to automate the provisioning, configuration, and management of a server infrastructure. It helps minimize human errors, ensures consistency across multiple systems, and simplifies the process of managing PostgreSQL installations. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Puppet Documentation](https://puppet.com/docs/puppet/latest/index.html) - [@official@Puppet PostgreSQL Module Documentation](https://forge.puppet.com/modules/puppetlabs/postgresql/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/queries@xVocG4LuFdtphwoOxiJTa.md b/src/data/roadmaps/postgresql-dba/content/queries@xVocG4LuFdtphwoOxiJTa.md index a57a0f8d2..7483b3d8b 100644 --- a/src/data/roadmaps/postgresql-dba/content/queries@xVocG4LuFdtphwoOxiJTa.md +++ b/src/data/roadmaps/postgresql-dba/content/queries@xVocG4LuFdtphwoOxiJTa.md @@ -2,6 +2,6 @@ Queries are the primary way to interact with a PostgreSQL database and retrieve or manipulate data stored within its tables. In this section, we will cover the fundamentals of querying in PostgreSQL - from basic `SELECT` statements to more advanced techniques like joins, subqueries, and aggregate functions. -Learn more from the following resources: +Visit the following resources to learn more: -- [@official@Querying a Table](https://www.postgresql.org/docs/current/tutorial-select.html) +- [@official@Querying a Table](https://www.postgresql.org/docs/current/tutorial-select.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/query-planner@hOPwVdIzesselbsI_rRxt.md b/src/data/roadmaps/postgresql-dba/content/query-planner@hOPwVdIzesselbsI_rRxt.md index 92dd438bf..97f37a200 100644 --- a/src/data/roadmaps/postgresql-dba/content/query-planner@hOPwVdIzesselbsI_rRxt.md +++ b/src/data/roadmaps/postgresql-dba/content/query-planner@hOPwVdIzesselbsI_rRxt.md @@ -2,7 +2,7 @@ The PostgreSQL query planner is an essential component of the system that's responsible for optimizing the execution of SQL queries. It finds the most efficient way to join tables, establish subquery relationships, and determine the order of operations based on available data, query structure, and the current PostgreSQL configuration settings. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Planner/Optimizer](https://www.postgresql.org/docs/current/planner-optimizer.html) - [@official@Query Planning](https://www.postgresql.org/docs/current/runtime-config-query.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md b/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md index a48a0b064..028f8f98d 100644 --- a/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md +++ b/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md @@ -2,7 +2,7 @@ Query processing is an important aspect of a database system, as it is responsible for managing data retrieval and modification using Structured Query Language (SQL) queries. Efficient query processing is crucial for ensuring optimal database performance. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Query Processing in PostgreSQL](https://www.interdb.jp/pg/pgsql03.html) - [@course@Understand PostgreSQL Query Processing - Microsoft](https://learn.microsoft.com/en-us/training/modules/understand-postgresql-query-process/) +- [@article@Query Processing in PostgreSQL](https://www.interdb.jp/pg/pgsql03.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/querying-data@BEJyz0ohCglDucxfyuAy4.md b/src/data/roadmaps/postgresql-dba/content/querying-data@BEJyz0ohCglDucxfyuAy4.md index 77982060a..f3e934123 100644 --- a/src/data/roadmaps/postgresql-dba/content/querying-data@BEJyz0ohCglDucxfyuAy4.md +++ b/src/data/roadmaps/postgresql-dba/content/querying-data@BEJyz0ohCglDucxfyuAy4.md @@ -2,9 +2,9 @@ Querying data with Data Manipulation Language (DML) in PostgreSQL involves using SQL statements to retrieve and manipulate data within the database. The primary DML statements for querying and modifying data are `SELECT`, `INSERT`, `UPDATE`, and `DELETE`. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@SELECT](https://www.postgresql.org/docs/current/sql-select.html) - [@official@INSERT](https://www.postgresql.org/docs/current/sql-insert.html) - [@official@UPDATE](https://www.postgresql.org/docs/current/sql-update.html) -- [@official@DELETE](https://www.postgresql.org/docs/current/sql-delete.html) +- [@official@DELETE](https://www.postgresql.org/docs/current/sql-delete.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/rdbms-benefits-and-limitations@p3AmRr_y_ZBKzAU5eh7OU.md b/src/data/roadmaps/postgresql-dba/content/rdbms-benefits-and-limitations@p3AmRr_y_ZBKzAU5eh7OU.md index ba8ed32c8..6a1415fb7 100644 --- a/src/data/roadmaps/postgresql-dba/content/rdbms-benefits-and-limitations@p3AmRr_y_ZBKzAU5eh7OU.md +++ b/src/data/roadmaps/postgresql-dba/content/rdbms-benefits-and-limitations@p3AmRr_y_ZBKzAU5eh7OU.md @@ -2,7 +2,7 @@ Relational Database Management Systems (RDBMS) offer several benefits, including robust data integrity through ACID (Atomicity, Consistency, Isolation, Durability) compliance, powerful querying capabilities with SQL, and strong support for data relationships via foreign keys and joins. They are highly scalable vertically and can handle complex transactions reliably. However, RDBMS also have limitations such as difficulties in horizontal scaling, which can limit performance in highly distributed systems. They can be less flexible with schema changes, often requiring significant effort to modify existing structures, and may not be the best fit for unstructured data or large-scale, high-velocity data environments typical of some NoSQL solutions. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@15 Advantages and Disadvantages of RDBMS](https://trainings.internshala.com/blog/advantages-and-disadvantages-of-rdbms/) - [@article@Top 11 Advantages and Disadvantages of RDBMS You Should Know](https://webandcrafts.com/blog/advantages-disadvantages-rdbms) diff --git a/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md b/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md index 2d0bf441f..da19d3fc6 100644 --- a/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md +++ b/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md @@ -4,7 +4,7 @@ Recursive CTEs are a powerful feature in SQL that allow you to build complex hie Note that recursive CTEs can be complex, and it's important to ensure a proper termination condition to avoid infinite recursion. Also, be careful with the use of `UNION ALL` or `UNION`, as it may impact the results and the performance of your query. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL - Recursive Query](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-recursive-query/) - [@article@PostgreSQL Recursive Query Explained](https://elvisciotti.medium.com/postgresql-recursive-query-the-simplest-example-explained-f9b85e0a371b) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/red@qBkpTmfbyCv2L-OJW9pPI.md b/src/data/roadmaps/postgresql-dba/content/red@qBkpTmfbyCv2L-OJW9pPI.md index 525e3a503..6b36e2007 100644 --- a/src/data/roadmaps/postgresql-dba/content/red@qBkpTmfbyCv2L-OJW9pPI.md +++ b/src/data/roadmaps/postgresql-dba/content/red@qBkpTmfbyCv2L-OJW9pPI.md @@ -6,7 +6,7 @@ The Rate is the number of requests per second. The Errors is the number of reque The Red Method is a methodology for analyzing the performance of any system. It directs the construction of a checklist, which for server analysis can be used for quickly identifying resource bottlenecks or errors. It begins by posing questions, and then seeks answers, instead of beginning with given metrics (partial answers) and trying to work backwards. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@The RED Method: A New Approach to Monitoring Microservices](https://thenewstack.io/monitoring-microservices-red-method) - [@article@PostgreSQL, RED, Golden Signals](https://dataegret.com/2020/10/postgresql-red-golden-signals-getting-started/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/relational-model@mDVbjdVN0spY7dI_8k1YW.md b/src/data/roadmaps/postgresql-dba/content/relational-model@mDVbjdVN0spY7dI_8k1YW.md index c9d69ccec..7131ef2cd 100644 --- a/src/data/roadmaps/postgresql-dba/content/relational-model@mDVbjdVN0spY7dI_8k1YW.md +++ b/src/data/roadmaps/postgresql-dba/content/relational-model@mDVbjdVN0spY7dI_8k1YW.md @@ -1,7 +1,7 @@ # Relational Model -The relational model is an approach to organizing and structuring data using tables, also referred to as "relations". It was first introduced by Edgar F. Codd in 1970 and has since become the foundation for most database management systems (DBMS), including PostgreSQL. This model organizes data into tables with rows and columns, where each row represents a single record and each column represents an attribute or field of the record. +The relational model is an approach to organizing and structuring data using tables, also referred to as "relations". It was first introduced by Edgar F. Codd in 1970 and has since become the foundation for most database management systems (DBMS), including PostgreSQL. This model organizes data into tables with rows and columns, where each row represents a single record and each column represents an attribute or field of the record. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What is the Relational Model?](https://www.postgresql.org/docs/7.1/relmodel-oper.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md b/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md index ec8b4eb64..32d7923fd 100644 --- a/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md +++ b/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md @@ -2,7 +2,7 @@ In the relational model, a relation is essentially a table composed of rows and columns, where each row represents a unique record (or tuple) and each column represents an attribute of the data. The structure of a relation is defined by its schema, which specifies the relation's name and the names and data types of its attributes. Relations are governed by integrity constraints, such as domain constraints, key constraints, and referential integrity constraints, to ensure data accuracy and consistency. Operations like selection, projection, join, and others can be performed on relations to retrieve and manipulate data efficiently. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Domain Constraints](https://www.postgresql.org/docs/current/infoschema-domain-constraints.html) - [@article@Relationships](https://hasura.io/learn/database/postgresql/core-concepts/6-postgresql-relationships/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/replication@A3YTrZSUxNBq77iIrNdZ4.md b/src/data/roadmaps/postgresql-dba/content/replication@A3YTrZSUxNBq77iIrNdZ4.md index ec3b13fb4..e65858ac7 100644 --- a/src/data/roadmaps/postgresql-dba/content/replication@A3YTrZSUxNBq77iIrNdZ4.md +++ b/src/data/roadmaps/postgresql-dba/content/replication@A3YTrZSUxNBq77iIrNdZ4.md @@ -2,7 +2,7 @@ Replication, in simple terms, is the process of copying data from one database server to another. It helps in maintaining a level of redundancy and improving the performance of databases. Replication ensures that your database remains highly available, fault-tolerant, and scalable. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Replication](https://www.postgresql.org/docs/current/runtime-config-replication.html) - [@article@PostgreSQL Replication](https://kinsta.com/blog/postgresql-replication/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md b/src/data/roadmaps/postgresql-dba/content/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md index 7abca890c..b5ba4dcb8 100644 --- a/src/data/roadmaps/postgresql-dba/content/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md +++ b/src/data/roadmaps/postgresql-dba/content/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md @@ -2,7 +2,7 @@ When working with PostgreSQL, it is often useful to analyze the performance of your queries and system as a whole. This can help you optimize your database and spot potential bottlenecks. One way to achieve this is by reporting logging statistics. PostgreSQL provides configuration settings for generating essential logging statistics on query and system performance. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Error Reporting and Logging](https://www.postgresql.org/docs/current/runtime-config-logging.html) - [@article@PostgreSQL Logging: Everything You Need to Know](https://betterstack.com/community/guides/logging/how-to-start-logging-with-postgresql/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/resource-usage--provisioning--capacity-planning@SNnc8CIKuHUAEZaJ_qEar.md b/src/data/roadmaps/postgresql-dba/content/resource-usage--provisioning--capacity-planning@SNnc8CIKuHUAEZaJ_qEar.md index 800af76dc..8278d9b97 100644 --- a/src/data/roadmaps/postgresql-dba/content/resource-usage--provisioning--capacity-planning@SNnc8CIKuHUAEZaJ_qEar.md +++ b/src/data/roadmaps/postgresql-dba/content/resource-usage--provisioning--capacity-planning@SNnc8CIKuHUAEZaJ_qEar.md @@ -2,33 +2,36 @@ Capacity planning and resource management are essential skills for professionals working with PostgreSQL. A well-designed infrastructure balances resource usage among the server, I/O, and storage systems to maintain smooth database operations. In this context, resource usage refers to the consumption of computational resources like CPU, memory, storage, and network resources. Planning for provisioning and capacity can help administrators run an efficient and scalable PostgreSQL infrastructure. -## Resource Usage +Resource Usage +-------------- When monitoring your PostgreSQL database's performance, some factors to look out for include CPU, memory, disk I/O, and network usage. -- **CPU**: High CPU usage may indicate that queries are taking longer than expected, causing increased resource consumption by the system. It is crucial to monitor the CPU usage and optimize queries and indexes to avoid performance bottlenecks. -- **Memory**: A well-managed memory system can significantly speed up database operations. Monitor memory usage, as low memory utilization rates can lead to slow query responses and reduced performance. -- **Disk I/O**: Monitor disk read and write performance to avoid bottlenecks and maintain efficient database operations. Excessive write activities, heavy workload, or slow storage can affect the PostgreSQL's transaction processing. -- **Network**: Network problems might lead to slow response times or connectivity issues. Monitoring the network traffic can help identify any problems with the database, client connections, or replication. +* **CPU**: High CPU usage may indicate that queries are taking longer than expected, causing increased resource consumption by the system. It is crucial to monitor the CPU usage and optimize queries and indexes to avoid performance bottlenecks. +* **Memory**: A well-managed memory system can significantly speed up database operations. Monitor memory usage, as low memory utilization rates can lead to slow query responses and reduced performance. +* **Disk I/O**: Monitor disk read and write performance to avoid bottlenecks and maintain efficient database operations. Excessive write activities, heavy workload, or slow storage can affect the PostgreSQL's transaction processing. +* **Network**: Network problems might lead to slow response times or connectivity issues. Monitoring the network traffic can help identify any problems with the database, client connections, or replication. -## Provisioning +Provisioning +------------ Proper resource provisioning is critical to ensure the system can handle the workload, while also being cost-effective. When dealing with PostgreSQL, there are three main aspects to consider: -- **Instance Size**: Resource allocation includes determining the appropriate instance size for your PostgreSQL server. Consider the expected workload for your database application and choose the right balance of CPU power, memory, and storage for your requirements. -- **Scaling**: Plan for the ability to scale your PostgreSQL database horizontally (by adding more nodes) or vertically (by increasing resources) to maintain system performance as your needs grow. This will help you accommodate fluctuating workloads, new applications, or changes in usage patterns. -- **High Availability**: Provision multiple PostgreSQL instances to form a high-availability (HA) setup, protecting against hardware failures and providing minimal downtime. In addition, PostgreSQL supports replication to ensure data durability and consistency across multiple nodes. +* **Instance Size**: Resource allocation includes determining the appropriate instance size for your PostgreSQL server. Consider the expected workload for your database application and choose the right balance of CPU power, memory, and storage for your requirements. +* **Scaling**: Plan for the ability to scale your PostgreSQL database horizontally (by adding more nodes) or vertically (by increasing resources) to maintain system performance as your needs grow. This will help you accommodate fluctuating workloads, new applications, or changes in usage patterns. +* **High Availability**: Provision multiple PostgreSQL instances to form a high-availability (HA) setup, protecting against hardware failures and providing minimal downtime. In addition, PostgreSQL supports replication to ensure data durability and consistency across multiple nodes. -## Capacity Planning +Capacity Planning +----------------- Capacity planning is a dynamic process that includes forecasting the infrastructure requirements based on business assumptions and actual usage patterns. System requirements might change as new applications or users are added, or as the database grows in size. Consider the following factors when planning your PostgreSQL infrastructure: -- **Workload**: Understand the expected workload for your PostgreSQL database to determine database size, indexing, and caching requirements. -- **Data Storage**: Anticipate the growth of your data volume through regular database maintenance, monitoring, and by having storage expansion plans in place. -- **Performance Metrics**: Establish key performance indicators (KPIs) to measure performance, detect possible issues, and act accordingly to minimize service degradation. -- **Testing**: Simulate test scenarios and perform stress tests to identify bottlenecks and inconsistencies to adjust your infrastructure as needed. +* **Workload**: Understand the expected workload for your PostgreSQL database to determine database size, indexing, and caching requirements. +* **Data Storage**: Anticipate the growth of your data volume through regular database maintenance, monitoring, and by having storage expansion plans in place. +* **Performance Metrics**: Establish key performance indicators (KPIs) to measure performance, detect possible issues, and act accordingly to minimize service degradation. +* **Testing**: Simulate test scenarios and perform stress tests to identify bottlenecks and inconsistencies to adjust your infrastructure as needed. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Resource Consumption](https://www.postgresql.org/docs/current/runtime-config-resource.html) - [@article@5 ways to host PostgreSQL databases](https://www.prisma.io/dataguide/postgresql/5-ways-to-host-postgresql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/resource-usage@yl3gxfQs4nOE0N7uGqR0d.md b/src/data/roadmaps/postgresql-dba/content/resource-usage@yl3gxfQs4nOE0N7uGqR0d.md index 62a5e0419..9e24eae90 100644 --- a/src/data/roadmaps/postgresql-dba/content/resource-usage@yl3gxfQs4nOE0N7uGqR0d.md +++ b/src/data/roadmaps/postgresql-dba/content/resource-usage@yl3gxfQs4nOE0N7uGqR0d.md @@ -1,10 +1,10 @@ # Resources Usage -Configuring PostgreSQL for optimal resource usage involves adjusting settings in the `postgresql.conf` file to balance memory, CPU, and disk usage. +Configuring PostgreSQL for optimal resource usage involves adjusting settings in the `postgresql.conf` file to balance memory, CPU, and disk usage. Key parameters include `shared_buffers`, typically set to 25-40% of total RAM, to optimize caching; `work_mem`, which should be adjusted based on the complexity and number of concurrent queries, often starting at 1-2MB per connection; `maintenance_work_mem`, set higher (e.g., 64MB) to speed up maintenance tasks; `effective_cache_size`, usually set to about 50-75% of total RAM to inform the planner about available cache; and `max_connections`, which should be carefully set based on available resources to avoid overcommitting memory. Additionally, `autovacuum` settings should be fine-tuned to ensure regular cleanup without overloading the system. Adjusting these parameters helps PostgreSQL efficiently utilize available hardware, improving performance and stability. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Resource Consumption Documentation](https://www.postgresql.org/docs/current/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY) - [@article@effective_cache_size](https://docs.aws.amazon.com/prescriptive-guidance/latest/tuning-postgresql-parameters/effective-cache-size.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md b/src/data/roadmaps/postgresql-dba/content/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md index 69a3e0310..f7cf052c4 100644 --- a/src/data/roadmaps/postgresql-dba/content/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md +++ b/src/data/roadmaps/postgresql-dba/content/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md @@ -1,8 +1,8 @@ # Reviewing Patches -Reviewing patches is a vital contribution to PostgreSQL, ensuring quality control, maintaining project standards, and helping new contributors understand the system's internals. By identifying bugs, improving performance, and ensuring proper documentation and test coverage, reviewers uphold PostgreSQL's reliability and stability. To participate, subscribe to the *pgsql-hackers mailing list*, explore patches in the *commitfest schedule*, and provide constructive feedback on correctness, performance, and code quality. Engaging in this collaborative process is an impactful way to support the PostgreSQL community. +Reviewing patches is a vital contribution to PostgreSQL, ensuring quality control, maintaining project standards, and helping new contributors understand the system's internals. By identifying bugs, improving performance, and ensuring proper documentation and test coverage, reviewers uphold PostgreSQL's reliability and stability. To participate, subscribe to the _pgsql-hackers mailing list_, explore patches in the _commitfest schedule_, and provide constructive feedback on correctness, performance, and code quality. Engaging in this collaborative process is an impactful way to support the PostgreSQL community. Visit the following resources to learn more: -- [@official@pgsql-hackers Mailing List](https://www.postgresql.org/list/pgsql-hackers/) -- [@official@Commitfest Schedule](https://commitfest.postgresql.org/) +- [@official@pgsql-hackers Mailing List](https://www.postgresql.org/list/pgsql-hackers/) +- [@official@Commitfest Schedule](https://commitfest.postgresql.org/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/roles@l0lpaPy12JFCJ-RRYVSqz.md b/src/data/roadmaps/postgresql-dba/content/roles@l0lpaPy12JFCJ-RRYVSqz.md index 9d97d2f98..b548ae1f7 100644 --- a/src/data/roadmaps/postgresql-dba/content/roles@l0lpaPy12JFCJ-RRYVSqz.md +++ b/src/data/roadmaps/postgresql-dba/content/roles@l0lpaPy12JFCJ-RRYVSqz.md @@ -2,8 +2,8 @@ In PostgreSQL, roles are entities that manage database access permissions, combining user and group functionalities. Roles can own database objects and have privileges, such as the ability to create databases or tables. A role can be configured with login capabilities (login role), or it can be used purely for privilege management (group role). Roles can inherit permissions from other roles, simplifying the management of complex permission hierarchies. Key role attributes include `SUPERUSER` (full access), `CREATEDB` (ability to create databases), `CREATEROLE` (ability to create and manage other roles), and `REPLICATION` (replication-related privileges). Roles are created and managed using SQL commands such as `CREATE ROLE`, `ALTER ROLE`, and `DROP ROLE`. -Learn more from the following resources: +Visit the following resources to learn more: -- [@video@For Your Eyes Only: Roles, Privileges, and Security in PostgreSQL](https://www.youtube.com/watch?v=mtPM3iZFE04) - [@official@Database Roles](https://www.postgresql.org/docs/current/user-manag.html) -- [@official@Predefined Roles](https://www.postgresql.org/docs/current/predefined-roles.html) \ No newline at end of file +- [@official@Predefined Roles](https://www.postgresql.org/docs/current/predefined-roles.html) +- [@video@For Your Eyes Only: Roles, Privileges, and Security in PostgreSQL](https://www.youtube.com/watch?v=mtPM3iZFE04) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/row-level-security@bokFf6VNrLcilI9Hid386.md b/src/data/roadmaps/postgresql-dba/content/row-level-security@bokFf6VNrLcilI9Hid386.md index 4025672a5..e7476c489 100644 --- a/src/data/roadmaps/postgresql-dba/content/row-level-security@bokFf6VNrLcilI9Hid386.md +++ b/src/data/roadmaps/postgresql-dba/content/row-level-security@bokFf6VNrLcilI9Hid386.md @@ -2,7 +2,7 @@ Row Level Security (RLS) is a feature introduced in PostgreSQL 9.5 that allows you to control access to rows in a table based on a user or role's permissions. This level of granularity in data access provides an extra layer of security for protecting sensitive information from unauthorized access. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Row Security Policies](https://www.postgresql.org/docs/current/ddl-rowsecurity.html) - [@video@How to Setup Row Level Security (RLS) in PostgreSQL](https://www.youtube.com/watch?v=j53NoW9cPtY) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md b/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md index dfe37723e..4974d6471 100644 --- a/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md +++ b/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md @@ -2,6 +2,6 @@ A row in PostgreSQL represents a single, uniquely identifiable record with a specific set of fields in a table. Each row in a table is made up of one or more columns, where each column can store a specific type of data (e.g., integer, character, date, etc.). The structure of a table determines the schema of its rows, and each row in a table must adhere to this schema. -Learn more from the following resources: +Visit the following resources to learn more: -- [@official@PostgreSQL - Rows](https://www.postgresql.org/docs/current/functions-comparisons.html) +- [@official@PostgreSQL - Rows](https://www.postgresql.org/docs/current/functions-comparisons.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/salt@Q_B9dlXNMXZIRYQC74uIf.md b/src/data/roadmaps/postgresql-dba/content/salt@Q_B9dlXNMXZIRYQC74uIf.md index 954fdcc0d..5805b5104 100644 --- a/src/data/roadmaps/postgresql-dba/content/salt@Q_B9dlXNMXZIRYQC74uIf.md +++ b/src/data/roadmaps/postgresql-dba/content/salt@Q_B9dlXNMXZIRYQC74uIf.md @@ -2,7 +2,7 @@ Salt (SaltStack) is an open-source configuration management, remote execution, and automation tool that helps you manage, automate, and orchestrate your PostgreSQL infrastructure. Salt is an excellent choice for managing your PostgreSQL infrastructure, providing a powerful, flexible, and extensible solution to help you maintain consistency and automate common tasks seamlessly. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Saltstack Website](https://saltproject.io/index.html) - [@opensource@saltstack/salt](https://github.com/saltstack/salt) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/schema-design-patterns--anti-patterns@FDuiJyU1yWUQ9IsfS3CeZ.md b/src/data/roadmaps/postgresql-dba/content/schema-design-patterns--anti-patterns@FDuiJyU1yWUQ9IsfS3CeZ.md index 445811259..ebb710ad6 100644 --- a/src/data/roadmaps/postgresql-dba/content/schema-design-patterns--anti-patterns@FDuiJyU1yWUQ9IsfS3CeZ.md +++ b/src/data/roadmaps/postgresql-dba/content/schema-design-patterns--anti-patterns@FDuiJyU1yWUQ9IsfS3CeZ.md @@ -2,7 +2,7 @@ Schema design patterns in PostgreSQL ensure efficient and scalable databases by using normalization to reduce redundancy and maintain data integrity, while denormalization improves read performance for read-heavy applications. Employing star and snowflake schemas optimizes query performance in data warehousing, with the former having a central fact table and the latter normalizing dimension tables. Partitioning tables based on specific criteria enhances query performance and maintenance, while strategic use of indexes speeds up data retrieval. Foreign keys and constraints maintain data integrity, and materialized views precompute complex queries for faster access to summary data, collectively ensuring an optimized and robust database design. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@How to Design Your PostgreSQL Database: Two Schema Examples](https://www.timescale.com/learn/how-to-design-postgresql-database-two-schema-examples) - [@video@What is STAR schema | Star vs Snowflake Schema](https://www.youtube.com/watch?v=hQvCOBv_-LE) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md b/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md index 19374aa78..53e7b6a65 100644 --- a/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md +++ b/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md @@ -1,8 +1,8 @@ # Schemas -Schemas are an essential part of PostgreSQL's object model, and they help provide structure, organization, and namespacing for your database objects. A schema is a collection of database objects, such as tables, views, indexes, and functions, that are organized within a specific namespace. +Schemas are an essential part of PostgreSQL's object model, and they help provide structure, organization, and namespacing for your database objects. A schema is a collection of database objects, such as tables, views, indexes, and functions, that are organized within a specific namespace. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) - [@article@Schema in PostgreSQL](https://hasura.io/learn/database/postgresql/core-concepts/1-postgresql-schema/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md b/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md index 7f930c5ae..11236b04e 100644 --- a/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md +++ b/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md @@ -2,7 +2,7 @@ Securing PostgreSQL involves multiple layers of considerations to protect data and ensure only authorized access. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL Database Security Best Practices](https://www.percona.com/blog/postgresql-database-security-best-practices/) - [@article@Security - Azure Database for PostgreSQL](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-security) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/sed@hVL6OtsXrE8BvjKpRjB-9.md b/src/data/roadmaps/postgresql-dba/content/sed@hVL6OtsXrE8BvjKpRjB-9.md index 24027923a..0a95daf3e 100644 --- a/src/data/roadmaps/postgresql-dba/content/sed@hVL6OtsXrE8BvjKpRjB-9.md +++ b/src/data/roadmaps/postgresql-dba/content/sed@hVL6OtsXrE8BvjKpRjB-9.md @@ -2,7 +2,7 @@ Sed is a powerful command-line utility for text processing and manipulation in Unix-based systems, including Linux operating systems. It operates on a text stream – reading from a file, standard input, or a pipe from another command – and applies a series of editing instructions known as "scripts" to transform the input text into a desired output format. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@sed, a stream editor](https://www.gnu.org/software/sed/manual/sed.html) - [@article@How to use the sed command on Linux](https://www.howtogeek.com/666395/how-to-use-the-sed-command-on-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/selinux@GvpIJF-eaGELwcpWq5_3r.md b/src/data/roadmaps/postgresql-dba/content/selinux@GvpIJF-eaGELwcpWq5_3r.md index 159e097cd..1666323ee 100644 --- a/src/data/roadmaps/postgresql-dba/content/selinux@GvpIJF-eaGELwcpWq5_3r.md +++ b/src/data/roadmaps/postgresql-dba/content/selinux@GvpIJF-eaGELwcpWq5_3r.md @@ -2,7 +2,7 @@ SELinux, or Security-Enhanced Linux, is a Linux kernel security module that brings heightened access control and security policies to your system. It is specifically designed to protect your system from unauthorized access and data leaks by enforcing a strict security policy, preventing processes from accessing resources they shouldn't, which is a significant tool for database administrators to help secure PostgreSQL instances. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What is SELinux?](https://www.redhat.com/en/topics/linux/what-is-selinux) - [@article@Introduction to SELinux](https://github.blog/developer-skills/programming-languages-and-frameworks/introduction-to-selinux/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/set-operations@kOwhnSZBwIhIbIsoAXQ50.md b/src/data/roadmaps/postgresql-dba/content/set-operations@kOwhnSZBwIhIbIsoAXQ50.md index 27ddba034..dcf233ce5 100644 --- a/src/data/roadmaps/postgresql-dba/content/set-operations@kOwhnSZBwIhIbIsoAXQ50.md +++ b/src/data/roadmaps/postgresql-dba/content/set-operations@kOwhnSZBwIhIbIsoAXQ50.md @@ -2,9 +2,9 @@ Set operations are useful when you need to perform actions on whole sets of data, such as merging or comparing them. Set operations include UNION, INTERSECT, and EXCEPT, and they can be vital tools in querying complex datasets. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Combining Queries](https://www.postgresql.org/docs/current/queries-union.html) - [@article@PostgreSQL UNION Operator](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-union/) - [@article@PostgreSQL INTERSECT Operator](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-intersect/) -- [@article@PostgreSQL EXCEPT Operator](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-except/) +- [@article@PostgreSQL EXCEPT Operator](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-except/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/sharding-patterns@r6Blr7Q4wOnvJ-m6NvPyP.md b/src/data/roadmaps/postgresql-dba/content/sharding-patterns@r6Blr7Q4wOnvJ-m6NvPyP.md index 33b21c69e..9d7b672ae 100644 --- a/src/data/roadmaps/postgresql-dba/content/sharding-patterns@r6Blr7Q4wOnvJ-m6NvPyP.md +++ b/src/data/roadmaps/postgresql-dba/content/sharding-patterns@r6Blr7Q4wOnvJ-m6NvPyP.md @@ -2,7 +2,7 @@ Sharding is a technique that splits a large dataset across multiple database instances or servers, called shards. Each shard is an independent and self-contained unit that holds a portion of the overall data, and shards can be distributed across different geographical locations or infrastructures. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Exploring Effective Sharding Strategies with PostgreSQL](https://medium.com/@gustavo.vallerp26/exploring-effective-sharding-strategies-with-postgresql-for-scalable-data-management-2c9ae7ef1759) - [@article@Mastering PostgreSQL Scaling: A Tale of Sharding and Partitioning](https://doronsegal.medium.com/scaling-postgres-dfd9c5e175e6) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md b/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md index dc19c44b8..c4a89adbd 100644 --- a/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md +++ b/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md @@ -2,8 +2,8 @@ Shell scripts are a powerful tool used to automate repetitive tasks and perform complex operations. They are essentially text files containing a sequence of commands to be executed by the shell (such as Bash or Zsh). By leveraging shell scripts with tools such as `cron`, you can efficiently automate tasks related to PostgreSQL and streamline your database administration processes. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Shell Script Cheatsheet](https://cheatsheets.zip/bash) - [@article@Shell Scripting Tutorial](https://www.tutorialspoint.com/unix/shell_scripting.htm) -- [@video@Shell Scripting for Beginners](https://www.youtube.com/watch?v=cQepf9fY6cE&list=PLS1QulWo1RIYmaxcEqw5JhK3b-6rgdWO_) +- [@video@Shell Scripting for Beginners](https://www.youtube.com/watch?v=cQepf9fY6cE&list=PLS1QulWo1RIYmaxcEqw5JhK3b-6rgdWO_) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/simple-stateful-setup@rNp3ZC6axkcKtAWYCPvdR.md b/src/data/roadmaps/postgresql-dba/content/simple-stateful-setup@rNp3ZC6axkcKtAWYCPvdR.md index 14c31e9ac..ab039b0a9 100644 --- a/src/data/roadmaps/postgresql-dba/content/simple-stateful-setup@rNp3ZC6axkcKtAWYCPvdR.md +++ b/src/data/roadmaps/postgresql-dba/content/simple-stateful-setup@rNp3ZC6axkcKtAWYCPvdR.md @@ -2,17 +2,17 @@ Here are the key components and steps involved in setting up a simple stateful `PostgreSQL` deployment on `Kubernetes`: -- **Create a Storage Class**: Define a `StorageClass` resource in `Kubernetes`, specifying the type of storage to be used and the access mode (read-write, read-only, etc.). +* **Create a Storage Class**: Define a `StorageClass` resource in `Kubernetes`, specifying the type of storage to be used and the access mode (read-write, read-only, etc.). + +* **Create a Persistent Volume Claim**: Define a `PersistentVolumeClaim` (PVC) to request a specific amount of storage from the storage class for your `PostgreSQL` database. + +* **Create a ConfigMap**: Define a `ConfigMap` to store your database configuration settings (e.g., usernames, passwords, etc.), separate from your application code. + +* **Create a Secret**: Store sensitive data (e.g., database passwords) securely in a `Secret` object. The `Secret` will be mounted as a volume in the pod and the environment variables will be set. + +* **Create a StatefulSet**: Define a `StatefulSet` that manages the deployment of your `PostgreSQL` pods. Specify the container image, port, volumes (PVC and ConfigMap), and a startup script. It ensures the unique identifier for each pod and guarantees the order of pod creation/deletion. -- **Create a Persistent Volume Claim**: Define a `PersistentVolumeClaim` (PVC) to request a specific amount of storage from the storage class for your `PostgreSQL` database. - -- **Create a ConfigMap**: Define a `ConfigMap` to store your database configuration settings (e.g., usernames, passwords, etc.), separate from your application code. - -- **Create a Secret**: Store sensitive data (e.g., database passwords) securely in a `Secret` object. The `Secret` will be mounted as a volume in the pod and the environment variables will be set. - -- **Create a StatefulSet**: Define a `StatefulSet` that manages the deployment of your `PostgreSQL` pods. Specify the container image, port, volumes (PVC and ConfigMap), and a startup script. It ensures the unique identifier for each pod and guarantees the order of pod creation/deletion. - -Learn more from the following resources: +Visit the following resources to learn more: - [@article@How to Deploy Postgres to Kubernetes Cluster](https://www.digitalocean.com/community/tutorials/how-to-deploy-postgres-to-kubernetes-cluster) - [@article@Deploy PostgreSQL on K8's](https://refine.dev/blog/postgres-on-kubernetes/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/sp-gist@LT5qRETR3pAI8Tk6k5idg.md b/src/data/roadmaps/postgresql-dba/content/sp-gist@LT5qRETR3pAI8Tk6k5idg.md index 7c3a1a616..c2337972f 100644 --- a/src/data/roadmaps/postgresql-dba/content/sp-gist@LT5qRETR3pAI8Tk6k5idg.md +++ b/src/data/roadmaps/postgresql-dba/content/sp-gist@LT5qRETR3pAI8Tk6k5idg.md @@ -4,7 +4,7 @@ The Spatial Generalized Search Tree (SP-GiST) is an advanced indexing structure SP-GiST is ideal for applications that involve complex spatial queries and need efficient indexing mechanisms for large datasets. It works by dividing the data space into smaller, manageable partitions, which helps in optimizing search operations and improving query performance. This structure is particularly beneficial in geographic information systems (GIS), spatial databases, and applications dealing with high-dimensional data. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL SP-GiST](https://www.slingacademy.com/article/postgresql-sp-gist-space-partitioned-generalized-search-tree/) - [@article@(The Many) Spatial Indexes of PostGIS](https://www.crunchydata.com/blog/the-many-spatial-indexes-of-postgis) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/ssl-settings@EKwO6edtFnUw8cPCcVwKJ.md b/src/data/roadmaps/postgresql-dba/content/ssl-settings@EKwO6edtFnUw8cPCcVwKJ.md index a895d6879..a1ce15a22 100644 --- a/src/data/roadmaps/postgresql-dba/content/ssl-settings@EKwO6edtFnUw8cPCcVwKJ.md +++ b/src/data/roadmaps/postgresql-dba/content/ssl-settings@EKwO6edtFnUw8cPCcVwKJ.md @@ -2,7 +2,7 @@ Securing the communication channels is a crucial aspect of protecting your PostgreSQL database from different types of attacks. One way to achieve this security is by using SSL (Secure Socket Layer) connections. By enabling and configuring SSL, you add an extra layer of security to your PostgreSQL database, ensuring the data transferred between the client and server is encrypted and protected. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@SSL Support](https://www.postgresql.org/docs/current/libpq-ssl.html) - [@article@How to Configure SSL on PostgreSQL](https://www.cherryservers.com/blog/how-to-configure-ssl-on-postgresql) diff --git a/src/data/roadmaps/postgresql-dba/content/storage-parameters@4VrT_K9cZZ0qE1EheSQy0.md b/src/data/roadmaps/postgresql-dba/content/storage-parameters@4VrT_K9cZZ0qE1EheSQy0.md index ffc22cb35..1730af59f 100644 --- a/src/data/roadmaps/postgresql-dba/content/storage-parameters@4VrT_K9cZZ0qE1EheSQy0.md +++ b/src/data/roadmaps/postgresql-dba/content/storage-parameters@4VrT_K9cZZ0qE1EheSQy0.md @@ -2,7 +2,7 @@ Storage parameters help optimize the database's performance by allowing you to configure settings related to memory usage, storage behavior, and buffer management for specific tables and indexes. PostgreSQL provides several configuration options to tailor the behavior of storage and I/O on a per-table or per-index basis. These options are set using the `ALTER TABLE` or `ALTER INDEX` commands, and they affect the overall performance of your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@ALTER INDEX](https://www.postgresql.org/docs/current/sql-alterindex.html) - [@article@PostgreSQL Storage Parameters](https://pgpedia.info/s/storage-parameters.html) diff --git a/src/data/roadmaps/postgresql-dba/content/strace@C_cUfEufYeUlAdVfdUvsK.md b/src/data/roadmaps/postgresql-dba/content/strace@C_cUfEufYeUlAdVfdUvsK.md index 92dfa8ccd..263b528db 100644 --- a/src/data/roadmaps/postgresql-dba/content/strace@C_cUfEufYeUlAdVfdUvsK.md +++ b/src/data/roadmaps/postgresql-dba/content/strace@C_cUfEufYeUlAdVfdUvsK.md @@ -2,7 +2,7 @@ `strace` is a powerful command-line tool used to diagnose and debug programs on Linux systems. It allows you to trace the system calls made by the process you're analyzing, allowing you to observe its interaction with the operating system. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@strace man page](https://man7.org/linux/man-pages/man1/strace.1.html) - [@article@Understand system calls with strace](https://opensource.com/article/19/10/strace) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/streaming-replication@MwLlVbqceQ-GTgPJlgoQY.md b/src/data/roadmaps/postgresql-dba/content/streaming-replication@MwLlVbqceQ-GTgPJlgoQY.md index 4fa7da0a8..ee5a79371 100644 --- a/src/data/roadmaps/postgresql-dba/content/streaming-replication@MwLlVbqceQ-GTgPJlgoQY.md +++ b/src/data/roadmaps/postgresql-dba/content/streaming-replication@MwLlVbqceQ-GTgPJlgoQY.md @@ -1,8 +1,8 @@ # Streaming Replication in PostgreSQL -Streaming Replication is a powerful feature in PostgreSQL that allows efficient real-time replication of data across multiple servers. It is a type of asynchronous replication, meaning that the replication process occurs continuously in the background without waiting for transactions to be committed. The primary purpose of streaming replication is to ensure high availability and fault tolerance, as well as to facilitate load balancing for read-heavy workloads. In the context of PostgreSQL, streaming replication involves a *primary* server and one or more *standby* servers. The primary server processes write operations and then streams the changes (or write-ahead logs, also known as WAL) to the standby servers, which apply the changes to their local copies of the database. The replication is unidirectional – data flows only from the primary server to the standby servers. +Streaming Replication is a powerful feature in PostgreSQL that allows efficient real-time replication of data across multiple servers. It is a type of asynchronous replication, meaning that the replication process occurs continuously in the background without waiting for transactions to be committed. The primary purpose of streaming replication is to ensure high availability and fault tolerance, as well as to facilitate load balancing for read-heavy workloads. In the context of PostgreSQL, streaming replication involves a _primary_ server and one or more _standby_ servers. The primary server processes write operations and then streams the changes (or write-ahead logs, also known as WAL) to the standby servers, which apply the changes to their local copies of the database. The replication is unidirectional – data flows only from the primary server to the standby servers. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@Streaming Replication](https://wiki.postgresql.org/wiki/Streaming_Replication) - [@video@Postgres Streaming Replication on Centos](https://www.youtube.com/watch?v=nnnAmq34STc) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/subqueries@_Y-omKcWZOxto-xJka7su.md b/src/data/roadmaps/postgresql-dba/content/subqueries@_Y-omKcWZOxto-xJka7su.md index 8221d8301..517e154c0 100644 --- a/src/data/roadmaps/postgresql-dba/content/subqueries@_Y-omKcWZOxto-xJka7su.md +++ b/src/data/roadmaps/postgresql-dba/content/subqueries@_Y-omKcWZOxto-xJka7su.md @@ -2,7 +2,7 @@ A subquery is a query nested inside another query, often referred to as the outer query. Subqueries are invaluable tools for retrieving information from multiple tables, performing complex calculations, or applying filter criteria based on the results of other queries. They can be found in various parts of SQL statements, such as `SELECT`, `FROM`, `WHERE`, and `HAVING` clauses. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@PostgreSQL Subquery](https://www.postgresql.org/docs/current/functions-subquery.html) - [@article@PostgreSQL Subquery](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-subquery/) diff --git a/src/data/roadmaps/postgresql-dba/content/sysstat@0hRQtRsteGDnKO5XgLF1R.md b/src/data/roadmaps/postgresql-dba/content/sysstat@0hRQtRsteGDnKO5XgLF1R.md index a87d8a2d8..fafd939d1 100644 --- a/src/data/roadmaps/postgresql-dba/content/sysstat@0hRQtRsteGDnKO5XgLF1R.md +++ b/src/data/roadmaps/postgresql-dba/content/sysstat@0hRQtRsteGDnKO5XgLF1R.md @@ -2,7 +2,7 @@ Sysstat is a collection of performance monitoring tools for Linux. It collects various system statistics, such as CPU usage, memory usage, disk activity, network traffic, and more. System administrators can use these tools to monitor the performance of their servers and identify potential bottlenecks and areas for improvement. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@sysstat/sysstat](https://github.com/sysstat/sysstat) - [@article@Sysstat – All-in-One System Performance and Usage Activity Monitoring Tool For Linux](https://www.tecmint.com/install-sysstat-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/system-catalog@lDuBFA7cEMnd7Cl9MDgnf.md b/src/data/roadmaps/postgresql-dba/content/system-catalog@lDuBFA7cEMnd7Cl9MDgnf.md index af886c3a0..0f233e5ce 100644 --- a/src/data/roadmaps/postgresql-dba/content/system-catalog@lDuBFA7cEMnd7Cl9MDgnf.md +++ b/src/data/roadmaps/postgresql-dba/content/system-catalog@lDuBFA7cEMnd7Cl9MDgnf.md @@ -2,7 +2,7 @@ The PostgreSQL system catalog is a set of tables and views that store metadata about the database objects, providing critical information for database management and querying. Key system catalog tables include `pg_database` (information about databases), `pg_tables` (details of tables), `pg_indexes` (index information), `pg_class` (general information about tables, indexes, and sequences), `pg_attribute` (column details for each table), and `pg_roles` (user and role information). These catalogs enable the database engine and users to efficiently manage schema, security, and query optimization, ensuring effective database operations and maintenance. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@System Catalogs](https://www.postgresql.org/docs/current/catalogs.html) - [@article@Exploring the PostgreSQL System Catalogs](https://www.openlogic.com/blog/postgresql-system-catalog-overview) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/tables@W8NhR4SqteMLfso8AD6H8.md b/src/data/roadmaps/postgresql-dba/content/tables@W8NhR4SqteMLfso8AD6H8.md index 57b555be1..78f77c69e 100644 --- a/src/data/roadmaps/postgresql-dba/content/tables@W8NhR4SqteMLfso8AD6H8.md +++ b/src/data/roadmaps/postgresql-dba/content/tables@W8NhR4SqteMLfso8AD6H8.md @@ -2,6 +2,6 @@ A table is one of the primary data storage objects in PostgreSQL. In simple terms, a table is a collection of rows or records, organized into columns. Each column has a unique name and contains data of a specific data type. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Table Basics](https://www.postgresql.org/docs/current/ddl-basics.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/temboard@aXG68inOu3trBWOmg9Yqx.md b/src/data/roadmaps/postgresql-dba/content/temboard@aXG68inOu3trBWOmg9Yqx.md index 4a5338b79..0c7e3815b 100644 --- a/src/data/roadmaps/postgresql-dba/content/temboard@aXG68inOu3trBWOmg9Yqx.md +++ b/src/data/roadmaps/postgresql-dba/content/temboard@aXG68inOu3trBWOmg9Yqx.md @@ -2,14 +2,14 @@ temBoard is an open-source monitoring and management tool for PostgreSQL databases developed by Dalibo. It provides a web-based interface that helps database administrators (DBAs) manage and monitor multiple PostgreSQL instances efficiently. Key features of temBoard include: -1. Real-Time Monitoring: Offers real-time insights into database performance metrics such as CPU usage, memory usage, disk I/O, and query performance. This helps DBAs quickly identify and address potential issues. -2. Agent-Based Architecture: Uses a lightweight agent installed on each PostgreSQL instance to collect metrics and perform management tasks. This architecture ensures minimal performance impact on the monitored databases. -3. Alerting and Notifications: Configurable alerts and notifications allow DBAs to receive timely updates on critical database events and performance issues, enabling proactive management and quicker response times. -4. Performance Analysis: Provides detailed performance analysis tools, including query statistics and historical performance data. This allows DBAs to analyze trends, identify bottlenecks, and optimize database performance. -5. User Management and Security: Supports user authentication and role-based access control, ensuring secure management of PostgreSQL instances. It also provides an audit log for tracking user activities. -6. Plugin System: Extensible through plugins, allowing customization and addition of new features as needed. +1. Real-Time Monitoring: Offers real-time insights into database performance metrics such as CPU usage, memory usage, disk I/O, and query performance. This helps DBAs quickly identify and address potential issues. +2. Agent-Based Architecture: Uses a lightweight agent installed on each PostgreSQL instance to collect metrics and perform management tasks. This architecture ensures minimal performance impact on the monitored databases. +3. Alerting and Notifications: Configurable alerts and notifications allow DBAs to receive timely updates on critical database events and performance issues, enabling proactive management and quicker response times. +4. Performance Analysis: Provides detailed performance analysis tools, including query statistics and historical performance data. This allows DBAs to analyze trends, identify bottlenecks, and optimize database performance. +5. User Management and Security: Supports user authentication and role-based access control, ensuring secure management of PostgreSQL instances. It also provides an audit log for tracking user activities. +6. Plugin System: Extensible through plugins, allowing customization and addition of new features as needed. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@temBoard Documentation](https://temboard.readthedocs.io/en/v8/) - [@opensource@dalibo/temboard](https://github.com/dalibo/temboard) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/tensor@xEu5n6U9-WKVxjlT5YUgx.md b/src/data/roadmaps/postgresql-dba/content/tensor@xEu5n6U9-WKVxjlT5YUgx.md index 031c6769d..77d05a5e6 100644 --- a/src/data/roadmaps/postgresql-dba/content/tensor@xEu5n6U9-WKVxjlT5YUgx.md +++ b/src/data/roadmaps/postgresql-dba/content/tensor@xEu5n6U9-WKVxjlT5YUgx.md @@ -4,6 +4,6 @@ Tensor Query Language (TQL) is a specialized SQL-like language designed for quer TQL enables users to perform complex queries on datasets, including operations like embedding search, array slicing, and custom numeric computations. This flexibility supports a wide range of applications, from simple data retrieval to sophisticated data preprocessing steps needed for training machine learning models. The language also integrates with version control, allowing users to manage and query different versions of their datasets seamlessly. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Tensor Query Language Documentation](https://docs.activeloop.ai/examples/tql) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md b/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md index 1389529c8..6fe82282b 100644 --- a/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md +++ b/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md @@ -2,7 +2,7 @@ `top` is a command-line utility that comes pre-installed on most Unix-based operating systems such as Linux, macOS, and BSD. It provides a dynamic, real-time view of the processes running on a system, displaying valuable information like process ID, user, CPU usage, memory usage, and more. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@How to Use the top Command in Linux](https://phoenixnap.com/kb/top-command-in-linux) - [@article@top man page](https://man7.org/linux/man-pages/man1/top.1.html) diff --git a/src/data/roadmaps/postgresql-dba/content/transactions@ghgyAXJ72dZmF2JpDvu9U.md b/src/data/roadmaps/postgresql-dba/content/transactions@ghgyAXJ72dZmF2JpDvu9U.md index dd438433d..773bc3d4d 100644 --- a/src/data/roadmaps/postgresql-dba/content/transactions@ghgyAXJ72dZmF2JpDvu9U.md +++ b/src/data/roadmaps/postgresql-dba/content/transactions@ghgyAXJ72dZmF2JpDvu9U.md @@ -2,7 +2,7 @@ Transactions are a fundamental concept in database management systems, allowing multiple statements to be executed within a single transaction context. In PostgreSQL, transactions provide ACID (Atomicity, Consistency, Isolation, and Durability) properties, which ensure that your data remains in a consistent state even during concurrent access or system crashes. By leveraging transaction control, savepoints, concurrency control, and locking, you can build robust and reliable applications that work seamlessly with PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Transactions](https://www.postgresql.org/docs/current/tutorial-transactions.html) - [@video@How to implement transactions](https://www.youtube.com/watch?v=DvJq4L41ru0) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/transactions@yFG_hVD3dB_qK8yphrRY5.md b/src/data/roadmaps/postgresql-dba/content/transactions@yFG_hVD3dB_qK8yphrRY5.md index dd438433d..773bc3d4d 100644 --- a/src/data/roadmaps/postgresql-dba/content/transactions@yFG_hVD3dB_qK8yphrRY5.md +++ b/src/data/roadmaps/postgresql-dba/content/transactions@yFG_hVD3dB_qK8yphrRY5.md @@ -2,7 +2,7 @@ Transactions are a fundamental concept in database management systems, allowing multiple statements to be executed within a single transaction context. In PostgreSQL, transactions provide ACID (Atomicity, Consistency, Isolation, and Durability) properties, which ensure that your data remains in a consistent state even during concurrent access or system crashes. By leveraging transaction control, savepoints, concurrency control, and locking, you can build robust and reliable applications that work seamlessly with PostgreSQL. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Transactions](https://www.postgresql.org/docs/current/tutorial-transactions.html) - [@video@How to implement transactions](https://www.youtube.com/watch?v=DvJq4L41ru0) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/triggers@ps2KK88QA1n5udn2ochIn.md b/src/data/roadmaps/postgresql-dba/content/triggers@ps2KK88QA1n5udn2ochIn.md index cb3611eea..99e7eabb4 100644 --- a/src/data/roadmaps/postgresql-dba/content/triggers@ps2KK88QA1n5udn2ochIn.md +++ b/src/data/roadmaps/postgresql-dba/content/triggers@ps2KK88QA1n5udn2ochIn.md @@ -2,7 +2,7 @@ Triggers are special user-defined functions that get invoked automatically when an event (like `INSERT`, `UPDATE`, `DELETE`, or `TRUNCATE`) occurs on a specified table or view. They allow you to perform additional actions when data is modified in the database, helping to maintain the integrity and consistency of your data. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Triggers](https://www.postgresql.org/docs/8.1/triggers.html) - [@article@PostgreSQL Triggers](https://www.postgresqltutorial.com/postgresql-triggers/) diff --git a/src/data/roadmaps/postgresql-dba/content/tuples@vJhvgGwNV3JB-wWn_0gMb.md b/src/data/roadmaps/postgresql-dba/content/tuples@vJhvgGwNV3JB-wWn_0gMb.md index 27cd821e0..136aa155a 100644 --- a/src/data/roadmaps/postgresql-dba/content/tuples@vJhvgGwNV3JB-wWn_0gMb.md +++ b/src/data/roadmaps/postgresql-dba/content/tuples@vJhvgGwNV3JB-wWn_0gMb.md @@ -4,7 +4,7 @@ In the relational model, a **tuple** is a fundamental concept that represents a For example, consider a `users` table with columns `id`, `name`, and `email`. A sample tuple in this table could be `(1, 'John Smith', 'john.smith@example.com')`, where each value corresponds to its respective column. PostgreSQL provides a variety of operations that can be performed on tuples. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@How PostgreSQL Freezes Tuples](https://medium.com/@hnasr/how-postgres-freezes-tuples-4a9931261fc) - [@article@Whats the difference between and tuple and a row?](https://stackoverflow.com/questions/19799282/whats-the-difference-between-a-tuple-and-a-row-in-postgres) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/use@QWi84EjdHw5ChYsuwUhPC.md b/src/data/roadmaps/postgresql-dba/content/use@QWi84EjdHw5ChYsuwUhPC.md index f5615c9ef..d49075383 100644 --- a/src/data/roadmaps/postgresql-dba/content/use@QWi84EjdHw5ChYsuwUhPC.md +++ b/src/data/roadmaps/postgresql-dba/content/use@QWi84EjdHw5ChYsuwUhPC.md @@ -2,7 +2,7 @@ The Utilization Saturation and Errors (USE) Method is a methodology for analyzing the performance of any system. It directs the construction of a checklist, which for server analysis can be used for quickly identifying resource bottlenecks or errors. It begins by posing questions, and then seeks answers, instead of beginning with given metrics (partial answers) and trying to work backwards. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@The USE Method](https://www.brendangregg.com/usemethod.html) - [@article@Making the USE method of monitoring useful](https://www.infoworld.com/article/2270621/making-the-use-method-of-monitoring-useful.html) diff --git a/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md b/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md index 718e35f96..3fff0e67e 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md +++ b/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md @@ -2,8 +2,8 @@ Docker is an excellent tool for simplifying the installation and management of applications, including PostgreSQL. By using Docker, you can effectively isolate PostgreSQL from your system and avoid potential conflicts with other installations or configurations. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Official PostgresSQL Docker Image](https://hub.docker.com/_/postgres) -- [@video@How to Set Up a PostgreSQL Database with Docker](https://www.youtube.com/watch?v=RdPYA-wDhTA) -- [@article@How to Use the Postgres Docker Official Image](https://www.docker.com/blog/how-to-use-the-postgres-docker-official-image/) \ No newline at end of file +- [@article@How to Use the Postgres Docker Official Image](https://www.docker.com/blog/how-to-use-the-postgres-docker-official-image/) +- [@video@How to Set Up a PostgreSQL Database with Docker](https://www.youtube.com/watch?v=RdPYA-wDhTA) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/using-logical-replication@MVVWAf9Hk3Fom-wBhO64R.md b/src/data/roadmaps/postgresql-dba/content/using-logical-replication@MVVWAf9Hk3Fom-wBhO64R.md index 867118408..130389fe2 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-logical-replication@MVVWAf9Hk3Fom-wBhO64R.md +++ b/src/data/roadmaps/postgresql-dba/content/using-logical-replication@MVVWAf9Hk3Fom-wBhO64R.md @@ -4,11 +4,11 @@ Logical replication is an asynchronous feature that allows data modification to **Advantages of Logical Replication** -- It allows you to replicate only specific tables, rather than the entire database. -- You can create replicas with different database schemas by using a transformation layer between publisher and subscriber. -- It allows you to perform a live upgrade, avoiding the downtime of your database. +* It allows you to replicate only specific tables, rather than the entire database. +* You can create replicas with different database schemas by using a transformation layer between publisher and subscriber. +* It allows you to perform a live upgrade, avoiding the downtime of your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Logical Replication](https://www.postgresql.org/docs/current/logical-replication.html) -- [@youtube@PostgreSQL Logical Replication Guide](https://www.youtube.com/watch?v=OvSzLjkMmQo) \ No newline at end of file +- [@article@PostgreSQL Logical Replication Guide](https://www.youtube.com/watch?v=OvSzLjkMmQo) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/using-pg_ctl@a4j0Rs8Tl6-k9WP5zjaep.md b/src/data/roadmaps/postgresql-dba/content/using-pg_ctl@a4j0Rs8Tl6-k9WP5zjaep.md index a150083d1..46b15fb75 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-pg_ctl@a4j0Rs8Tl6-k9WP5zjaep.md +++ b/src/data/roadmaps/postgresql-dba/content/using-pg_ctl@a4j0Rs8Tl6-k9WP5zjaep.md @@ -1,8 +1,8 @@ -# Using `pg_ctl` +# Using pg_ctl `pg_ctl` is a command-line utility that enables you to manage a PostgreSQL database server. With `pg_ctl`, you can start, stop, and restart the PostgreSQL service, among other tasks. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_ctl](https://www.postgresql.org/docs/current/app-pg-ctl.html) - [@article@pg_ctl Tips and Tricks](https://pgdash.io/blog/pgctl-tips-tricks.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/using-pg_ctlcluster@v3SoKmeCh6uxKW5GAAMje.md b/src/data/roadmaps/postgresql-dba/content/using-pg_ctlcluster@v3SoKmeCh6uxKW5GAAMje.md index 89172e212..c862915ce 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-pg_ctlcluster@v3SoKmeCh6uxKW5GAAMje.md +++ b/src/data/roadmaps/postgresql-dba/content/using-pg_ctlcluster@v3SoKmeCh6uxKW5GAAMje.md @@ -2,6 +2,6 @@ `pg_ctlcluster` is a command-line utility provided by PostgreSQL to manage database clusters. It is especially helpful for users who have multiple PostgreSQL clusters running on the same system. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@pg_ctlcluster](https://manpages.ubuntu.com/manpages/focal/man1/pg_ctlcluster.1.html) +- [@article@pg_ctlcluster](https://manpages.ubuntu.com/manpages/focal/man1/pg_ctlcluster.1.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/using-pg_upgrade@cJYlZJ9f3kdptNrTlpMNU.md b/src/data/roadmaps/postgresql-dba/content/using-pg_upgrade@cJYlZJ9f3kdptNrTlpMNU.md index bf4ab6d6f..123bcd2a3 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-pg_upgrade@cJYlZJ9f3kdptNrTlpMNU.md +++ b/src/data/roadmaps/postgresql-dba/content/using-pg_upgrade@cJYlZJ9f3kdptNrTlpMNU.md @@ -2,18 +2,18 @@ `pg_upgrade` is a PostgreSQL utility that facilitates the in-place upgrade of a PostgreSQL database cluster to a new major version. It allows users to upgrade their database without needing to dump and restore the database, significantly reducing downtime. Here are the key steps involved in using `pg_upgrade`: -1. **Preparation**: Before starting the upgrade, ensure both the old and new versions of PostgreSQL are installed. Backup the existing database cluster and ensure no connections are active. +1. **Preparation**: Before starting the upgrade, ensure both the old and new versions of PostgreSQL are installed. Backup the existing database cluster and ensure no connections are active. + +2. **Initialize the New Cluster**: Initialize a new PostgreSQL cluster with the target version using `initdb`. + +3. **Run `pg_upgrade`**: Execute the `pg_upgrade` command, specifying the data directories of the old and new clusters, and the paths to the old and new `pg_ctl` binaries. + +4. **Analyze and Optimize**: After the upgrade, run the `analyze_new_cluster.sh` script generated by `pg_upgrade` to update optimizer statistics. This step is crucial for performance. + +5. **Finalize**: If everything works correctly, you can start the new cluster and remove the old cluster to free up space. -2. **Initialize the New Cluster**: Initialize a new PostgreSQL cluster with the target version using `initdb`. - -3. **Run `pg_upgrade`**: Execute the `pg_upgrade` command, specifying the data directories of the old and new clusters, and the paths to the old and new `pg_ctl` binaries. - -4. **Analyze and Optimize**: After the upgrade, run the `analyze_new_cluster.sh` script generated by `pg_upgrade` to update optimizer statistics. This step is crucial for performance. - -5. **Finalize**: If everything works correctly, you can start the new cluster and remove the old cluster to free up space. - -Learn more from the following resources: +Visit the following resources to learn more: - [@official@pg_upgrade](https://www.postgresql.org/docs/current/pgupgrade.html) -- [@video@Upgrade PostgreSQL with pg_upgrade](https://www.youtube.com/watch?v=DXHEk4fohcI) -- [@article@Examining Postgres Upgrades with pg_upgrade](https://www.crunchydata.com/blog/examining-postgres-upgrades-with-pg_upgrade) \ No newline at end of file +- [@article@Examining Postgres Upgrades with pg_upgrade](https://www.crunchydata.com/blog/examining-postgres-upgrades-with-pg_upgrade) +- [@video@Upgrade PostgreSQL with pg_upgrade](https://www.youtube.com/watch?v=DXHEk4fohcI) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/using-systemd@P1Hm6ZlrhCRxbxOJkBHlL.md b/src/data/roadmaps/postgresql-dba/content/using-systemd@P1Hm6ZlrhCRxbxOJkBHlL.md index 9bbaff6f6..9042d67ed 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-systemd@P1Hm6ZlrhCRxbxOJkBHlL.md +++ b/src/data/roadmaps/postgresql-dba/content/using-systemd@P1Hm6ZlrhCRxbxOJkBHlL.md @@ -2,8 +2,8 @@ Using systemd to manage PostgreSQL involves utilizing the system and service manager to control the PostgreSQL service. This allows you to start, stop, and manage PostgreSQL automatically with the boot process. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@What is systemd?](https://www.digitalocean.com/community/tutorials/what-is-systemd) - [@article@Systemd postgresql start script](https://unix.stackexchange.com/questions/220362/systemd-postgresql-start-script) -- [@youtube@systemd on Linux](https://www.youtube.com/watch?v=N1vgvhiyq0E) \ No newline at end of file +- [@article@systemd on Linux](https://www.youtube.com/watch?v=N1vgvhiyq0E) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/vacuum-processing@dJzJP1uo4kVFThWgglPfk.md b/src/data/roadmaps/postgresql-dba/content/vacuum-processing@dJzJP1uo4kVFThWgglPfk.md index 037f3c33b..db39c7ff8 100644 --- a/src/data/roadmaps/postgresql-dba/content/vacuum-processing@dJzJP1uo4kVFThWgglPfk.md +++ b/src/data/roadmaps/postgresql-dba/content/vacuum-processing@dJzJP1uo4kVFThWgglPfk.md @@ -2,7 +2,7 @@ Vacuum processing is an essential aspect of maintaining the performance and stability of a PostgreSQL database. PostgreSQL uses a storage technique called Multi-Version Concurrency Control (MVCC), which allows multiple transactions to access different versions of a database object simultaneously. This results in the creation of multiple "dead" rows whenever a row is updated or deleted. Vacuum processing helps in cleaning up these dead rows and reclaiming storage space, preventing the database from becoming bloated and inefficient. -Learn more from the following resources: +Visit the following resources to learn more: - [@article@PostgreSQL VACUUM Guide and Best Practices](https://www.enterprisedb.com/blog/postgresql-vacuum-and-analyze-best-practice-tips) -- [@article@How to run VACUUM ANALYZE explicitly?](https://medium.com/@dmitry.romanoff/postgresql-how-to-run-vacuum-analyze-explicitly-5879ec39da47) +- [@article@How to run VACUUM ANALYZE explicitly?](https://medium.com/@dmitry.romanoff/postgresql-how-to-run-vacuum-analyze-explicitly-5879ec39da47) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/vacuums@zoaqBP0Jbf0HpTH8Q3LkJ.md b/src/data/roadmaps/postgresql-dba/content/vacuums@zoaqBP0Jbf0HpTH8Q3LkJ.md index eaabab4d8..ff5e6d173 100644 --- a/src/data/roadmaps/postgresql-dba/content/vacuums@zoaqBP0Jbf0HpTH8Q3LkJ.md +++ b/src/data/roadmaps/postgresql-dba/content/vacuums@zoaqBP0Jbf0HpTH8Q3LkJ.md @@ -2,12 +2,12 @@ Vacuuming is an essential component in PostgreSQL maintenance tasks. By reclaiming storage, optimizing performance, and keeping the database lean, vacuuming helps maintain the health of your PostgreSQL system. During the normal operation of PostgreSQL, database tuples (rows) are updated, deleted and added. This can lead to fragmentation, wasted space, and decreased efficiency. Vacuuming is used to: -- Reclaim storage space used by dead rows. -- Update statistics for the query planner. -- Make unused space available for return to the operating system. -- Maintain the visibility map in indexed relations. +* Reclaim storage space used by dead rows. +* Update statistics for the query planner. +* Make unused space available for return to the operating system. +* Maintain the visibility map in indexed relations. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@VACUUM](https://www.postgresql.org/docs/current/sql-vacuum.html) - [@official@Routine Vacuuming](https://www.postgresql.org/docs/current/routine-vacuuming.html) diff --git a/src/data/roadmaps/postgresql-dba/content/wal-g@4gQSzH-WKFAvmkwlX_oyR.md b/src/data/roadmaps/postgresql-dba/content/wal-g@4gQSzH-WKFAvmkwlX_oyR.md index 72cb33a19..789d4b85b 100644 --- a/src/data/roadmaps/postgresql-dba/content/wal-g@4gQSzH-WKFAvmkwlX_oyR.md +++ b/src/data/roadmaps/postgresql-dba/content/wal-g@4gQSzH-WKFAvmkwlX_oyR.md @@ -2,7 +2,7 @@ WAL-G is an open-source archival and restoration tool for PostgreSQL and MySQL/MariaDB, designed for managing Write-Ahead Logs (WAL) and performing continuous archiving. It extends the capabilities of the traditional `pg_basebackup` by supporting features like delta backups, compression, and encryption. WAL-G is optimized for cloud storage, integrating seamlessly with services like Amazon S3, Google Cloud Storage, and Azure Blob Storage. It ensures efficient backup storage by deduplicating data and providing incremental backup capabilities. Additionally, WAL-G supports point-in-time recovery, allowing databases to be restored to any specific time, enhancing disaster recovery processes. -Learn more from the following resources: +Visit the following resources to learn more: - [@opensource@wal-g/wal-g](https://github.com/wal-g/wal-g) - [@article@Continuous PostgreSQL Backups using WAL-G](https://supabase.com/blog/continuous-postgresql-backup-walg) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/what-are-relational-databases@soar-NBWCr4xVKj7ttfnc.md b/src/data/roadmaps/postgresql-dba/content/what-are-relational-databases@soar-NBWCr4xVKj7ttfnc.md index 1590e5c5d..eb3ac7016 100644 --- a/src/data/roadmaps/postgresql-dba/content/what-are-relational-databases@soar-NBWCr4xVKj7ttfnc.md +++ b/src/data/roadmaps/postgresql-dba/content/what-are-relational-databases@soar-NBWCr4xVKj7ttfnc.md @@ -2,10 +2,10 @@ Relational databases are a type of database management system (DBMS) that stores and organizes data in a structured format called tables. These tables are made up of rows, also known as records or tuples, and columns, which are also called attributes or fields. The term "relational" comes from the fact that these tables can be related to one another through keys and relationships. -Learn more from the following resources: +Visit the following resources to learn more: +- [@course@Databases and SQL](https://www.edx.org/course/databases-5-sql) - [@article@Relational Databases](https://www.ibm.com/cloud/learn/relational-databases) - [@article@Intro To Relational Databases](https://www.udacity.com/course/intro-to-relational-databases--ud197) - [@article@Relational Databases: Concept and History](https://www.ibm.com/topics/relational-databases) -- [@course@Databases and SQL](https://www.edx.org/course/databases-5-sql) -- [@feed@Explore top posts about Relational Databases](https://app.daily.dev/tags/relational-databases?ref=roadmapsh) +- [@feed@Explore top posts about Relational Databases](https://app.daily.dev/tags/relational-databases?ref=roadmapsh) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9VmQ-vN3nPyf1pTFIcj40.md b/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9VmQ-vN3nPyf1pTFIcj40.md index ad3dc3f0f..eaee7d743 100644 --- a/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9VmQ-vN3nPyf1pTFIcj40.md +++ b/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9VmQ-vN3nPyf1pTFIcj40.md @@ -2,7 +2,7 @@ The Write Ahead Log, also known as the WAL, is a crucial part of PostgreSQL's data consistency strategy. The WAL records all changes made to the database in a sequential log before they are written to the actual data files. In case of a crash, PostgreSQL can use the WAL to bring the database back to a consistent state without losing any crucial data. This provides durability and crash recovery capabilities for your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Write Ahead Logging](https://www.postgresql.org/docs/current/wal-intro.html) - [@article@Working With Postgres WAL Made Easy 101](https://hevodata.com/learn/working-with-postgres-wal/) diff --git a/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9sadNsbHLqejbRPHWhx-w.md b/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9sadNsbHLqejbRPHWhx-w.md index ad3dc3f0f..eaee7d743 100644 --- a/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9sadNsbHLqejbRPHWhx-w.md +++ b/src/data/roadmaps/postgresql-dba/content/write-ahead-log@9sadNsbHLqejbRPHWhx-w.md @@ -2,7 +2,7 @@ The Write Ahead Log, also known as the WAL, is a crucial part of PostgreSQL's data consistency strategy. The WAL records all changes made to the database in a sequential log before they are written to the actual data files. In case of a crash, PostgreSQL can use the WAL to bring the database back to a consistent state without losing any crucial data. This provides durability and crash recovery capabilities for your database. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Write Ahead Logging](https://www.postgresql.org/docs/current/wal-intro.html) - [@article@Working With Postgres WAL Made Easy 101](https://hevodata.com/learn/working-with-postgres-wal/) diff --git a/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md b/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md index ced82d6e4..d7ba3cdf0 100644 --- a/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md +++ b/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md @@ -2,8 +2,8 @@ Zabbix is an open-source monitoring software for networks, servers, virtual machines, and cloud services. It provides real-time monitoring, alerting, and visualization of metrics collected from various IT infrastructure components. Zabbix supports multiple data collection methods, including SNMP, IPMI, JMX, and custom scripts, making it versatile for different environments. It features a web-based interface for configuration and monitoring, allowing users to set thresholds, generate alerts, and create detailed performance reports and dashboards. Zabbix also supports distributed monitoring, auto-discovery, and scaling capabilities, making it suitable for both small and large-scale deployments. It is widely used for its robustness, flexibility, and comprehensive monitoring capabilities. -Learn more from the following resources: +Visit the following resources to learn more: - [@official@Zabbix](https://www.zabbix.com/) - [@opensource@zabbix/zabbix](https://github.com/zabbix/zabbix) -- [@article@Using Zabbix to Monitor your Home Network](https://jswheeler.medium.com/using-zabbix-to-monitor-your-home-network-71ed2b1181ae) +- [@article@Using Zabbix to Monitor your Home Network](https://jswheeler.medium.com/using-zabbix-to-monitor-your-home-network-71ed2b1181ae) \ No newline at end of file