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 7af1379cb..03d559919 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 @@ -4,5 +4,5 @@ PostgreSQL provides various extensions to enhance its features and functionaliti Learn more from the following resources: -- [@official@PostgreSQL extensions](https://www.postgresql.org/download/products/6-postgresql-extensions/) -- [@official@Create Extension](https://www.postgresql.org/docs/current/sql-createextension.html) \ No newline at end of file +- [@official@PostgreSQL Extensions](https://www.postgresql.org/download/products/6-postgresql-extensions/) +- [@official@Create Extension](https://www.postgresql.org/docs/current/sql-createextension.html) diff --git a/src/data/roadmaps/postgresql-dba/content/advanced-topics@09QX_zjCUajxUqcNZKy0x.md b/src/data/roadmaps/postgresql-dba/content/advanced-topics@09QX_zjCUajxUqcNZKy0x.md index 4823ed372..375de8181 100644 --- a/src/data/roadmaps/postgresql-dba/content/advanced-topics@09QX_zjCUajxUqcNZKy0x.md +++ b/src/data/roadmaps/postgresql-dba/content/advanced-topics@09QX_zjCUajxUqcNZKy0x.md @@ -1,3 +1,8 @@ # Advanced Topics in PostgreSQL Security -In addition to basic PostgreSQL security concepts, such as user authentication, privilege management, and encryption, there are several advanced topics that you should be aware of to enhance the security of your PostgreSQL databases. \ No newline at end of file +In addition to basic PostgreSQL security concepts, such as user authentication, privilege management, and encryption, there are several advanced topics that you should be aware of to enhance the security of your PostgreSQL databases. + +Visit the following resources to learn more: + +- [@article@Best Practices for Postgres Security](https://www.timescale.com/learn/postgres-security-best-practices) +- [@article@PostgreSQL - Encryption and Monitoring](https://www.enterprisedb.com/postgresql-best-practices-encryption-monitoring) \ 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 eb371451b..e4857b692 100644 --- a/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md +++ b/src/data/roadmaps/postgresql-dba/content/ansible@RqSfBR_RuvHrwHfPn1jwZ.md @@ -4,6 +4,6 @@ Ansible is a widely used open-source configuration management and provisioning t Learn more from the following resources: -- [@official@Ansible Website](https://www.ansible.com/) +- [@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) diff --git a/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md b/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md index 93751e1e9..a34f08e19 100644 --- a/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md +++ b/src/data/roadmaps/postgresql-dba/content/attributes@XvZMSveMWqmAlXOxwWzdk.md @@ -4,5 +4,5 @@ Attributes in the relational model are the columns of a table, representing the Learn more from the following resources: -- [@article@What is a relational Model?](https://www.guru99.com/relational-data-model-dbms.html) +- [@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 b5cbfef14..f1985a43f 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 @@ -4,5 +4,5 @@ PostgreSQL supports various authentication models to control access, including t Learn more from the following resources: -- [@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) \ No newline at end of file +- [@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) diff --git a/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md b/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md index 562974254..e421a3c9c 100644 --- a/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md +++ b/src/data/roadmaps/postgresql-dba/content/awk@HJCRntic0aGVvdmCN45aP.md @@ -5,5 +5,5 @@ Awk is a versatile text processing tool that is widely used for various data man Learn more from the following resources: - [@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) +- [@article@Awk Command in Linux/Unix](https://www.digitalocean.com/community/tutorials/awk-command-linux-unix) - [@video@Tutorial - AWK in 300 Seconds](https://www.youtube.com/watch?v=15DvGiWVNj0) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/basic-rdbms-concepts@-M9EFgiDSSAzj9ISk-aeh.md b/src/data/roadmaps/postgresql-dba/content/basic-rdbms-concepts@-M9EFgiDSSAzj9ISk-aeh.md index 060065262..c9252b5b3 100644 --- a/src/data/roadmaps/postgresql-dba/content/basic-rdbms-concepts@-M9EFgiDSSAzj9ISk-aeh.md +++ b/src/data/roadmaps/postgresql-dba/content/basic-rdbms-concepts@-M9EFgiDSSAzj9ISk-aeh.md @@ -1,3 +1,7 @@ # RDBMS Concepts -Relational Database Management Systems (RDBMS) are a type of database management system which stores and organizes data in tables, making it easy to manipulate, query, and manage the information. They follow the relational model defined by E.F. Codd in 1970, which means that data is represented as tables with rows and columns. \ No newline at end of file +Relational Database Management Systems (RDBMS) are a type of database management system which stores and organizes data in tables, making it easy to manipulate, query, and manage the information. They follow the relational model defined by E.F. Codd in 1970, which means that data is represented as tables with rows and columns. + +Visit the following resources to learn more: + +- [@article@Understanding Relational Database Management Systems](https://www.essentialsql.com/understanding-relational-databases-a-beginners-guide/) \ 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 abf89d14d..67511f835 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 @@ -4,5 +4,5 @@ Bulk load process data involves transferring large volumes of data from external Learn more from the following resources: -- [@article@7 Best Practice Tips for PostgreSQL Bulk Data Loading](https://www.enterprisedb.com/blog/7-best-practice-tips-postgresql-bulk-data-loading) -- [@official@Populating a Database](https://www.postgresql.org/docs/current/populate.html) \ No newline at end of file +- [@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/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md b/src/data/roadmaps/postgresql-dba/content/checkpoints--background-writer@3pLn1mhRnekG537ejHUYA.md index f79f2653d..1d76ea903 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,12 +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. -Checkpoints periodically write all modified data (dirty pages) from the shared buffer cache to the disk, ensuring that the database can recover to a consistent state after a crash. The frequency of checkpoints is controlled by parameters like `checkpoint_timeout`, `checkpoint_completion_target`, and `checkpoint_segments`, balancing the trade-off between I/O load and recovery time. - -The background writer, on the other hand, continuously flushes dirty pages to disk, smoothing out the I/O workload and reducing the amount of work needed during a checkpoint. Parameters such as `bgwriter_delay`, `bgwriter_lru_maxpages`, and `bgwriter_lru_multiplier` control its behavior, optimizing the balance between database performance and the frequency of disk writes. Proper configuration of both components ensures efficient disk I/O management, minimizes performance bottlenecks, and enhances overall system stability. - Learn more from the following resources: - [@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) \ No newline at end of file +- [@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) 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 fa61e28f7..7641049e8 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,3 +1,8 @@ # 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. + +Visit the following resources to learn more: + +- [@official@Configuring PostgreSQL](https://www.postgresql.org/docs/current/runtime-config.html) +- [@article@Install and Configure PostgreSQL](https://ubuntu.com/server/docs/install-and-configure-postgresql) \ 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 30a2f10a2..2d34c5274 100644 --- a/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md +++ b/src/data/roadmaps/postgresql-dba/content/constraints@j9ikSpCD3yM5pTRFuJjZs.md @@ -16,5 +16,5 @@ Constraints are an essential part of the relational model, as they define rules Learn more from the following resources: -- [@official@Contraints](https://www.postgresql.org/docs/current/ddl-constraints.html) -- [@article@PostgreSQL - Contraints](https://www.tutorialspoint.com/postgresql/postgresql_constraints.htm) \ No newline at end of file +- [@official@Constraints](https://www.postgresql.org/docs/current/ddl-constraints.html) +- [@article@PostgreSQL - Constraints](https://www.tutorialspoint.com/postgresql/postgresql_constraints.htm) 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 310b3c842..a368525c0 100644 --- a/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md +++ b/src/data/roadmaps/postgresql-dba/content/data-partitioning@OiGRtLsc28Tv35vIut6B6.md @@ -5,4 +5,4 @@ Data partitioning is a technique that divides a large table into smaller, more m Learn more from the following resources: - [@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 +- [@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 f71ad7450..a0e6393be 100644 --- a/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md +++ b/src/data/roadmaps/postgresql-dba/content/data-types@4Pw7udOMIsiaKr7w9CRxc.md @@ -1,9 +1,9 @@ # Data Types in PostgreSQL -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. +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: - [@official@Data Types](https://www.postgresql.org/docs/current/datatype.html) -- [@article@An introduction to PostgreSQL data types](https://www.prisma.io/dataguide/postgresql/introduction-to-data-types) +- [@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/) 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 f538e6475..2fb8b5e69 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 @@ -4,5 +4,6 @@ In this section, we will discuss deploying PostgreSQL in the cloud. Deploying yo Learn more from the following resources: +- [@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) diff --git a/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md b/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md index ac8776ff4..580c69969 100644 --- a/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md +++ b/src/data/roadmaps/postgresql-dba/content/etcd@kCw6oEVGdKokCz4wYizIT.md @@ -6,5 +6,6 @@ Etcd can be utilized in conjunction with _connection poolers_ such as PgBouncer Learn more from the following resources: +- [@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) \ No newline at end of file +- [@articles@etcd vs PostgreSQL](https://api7.ai/blog/etcd-vs-postgresql) diff --git a/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md b/src/data/roadmaps/postgresql-dba/content/explaindalibocom@UZ1vRFRjiQAVu6BygqwEL.md index 251c68819..1d3292df1 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](explain.depesz.com) service. +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. Learn more from the following resources: -- [@article@explain.dalibo.com](https://explain.dalibo.com/) +- [@official@explain.dalibo.com](https://explain.dalibo.com/) 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 53a7f410b..cce43969f 100644 --- a/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md +++ b/src/data/roadmaps/postgresql-dba/content/filtering-data@dd2lTNsNzYdfB7rRFMNmC.md @@ -4,6 +4,6 @@ Filtering data is an essential feature in any database management system, and Po Learn more from the following resources: -- [@article@How to filter query results in PostgreSQL](https://www.prisma.io/dataguide/postgresql/reading-and-querying-data/filtering-data) +- [@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) - [@article@PostgreSQL - WHERE](https://www.w3schools.com/postgresql/postgresql_where.php) \ No newline at end of file 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 938dc8ba3..1a7d40e9e 100644 --- a/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md +++ b/src/data/roadmaps/postgresql-dba/content/for-schemas@KMdF9efNGULualk5o1W0_.md @@ -1,10 +1,8 @@ # Schemas in PostgreSQL -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. +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: -- [@article@PostgreSQL Schema](https://hasura.io/learn/database/postgresql/core-concepts/1-postgresql-schema/) -- [@official@Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) \ No newline at end of file +- [@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/gin@FJhJyDWOj9w_Rd_uKcouT.md b/src/data/roadmaps/postgresql-dba/content/gin@FJhJyDWOj9w_Rd_uKcouT.md index 343c38d7b..1f8cb4faa 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 @@ -4,5 +4,5 @@ Generalized Inverted Index (GIN) is a powerful indexing method in PostgreSQL tha Learn more from the following resources: -- [@article@Generalized Inverted Indexes](https://www.cockroachlabs.com/docs/stable/inverted-indexes) -- [@article@GIN Introduction](https://www.postgresql.org/docs/current/gin-intro.html) \ No newline at end of file +- [@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/high-level-database-concepts@_BSR2mo1lyXEFXbKYb1ZG.md b/src/data/roadmaps/postgresql-dba/content/high-level-database-concepts@_BSR2mo1lyXEFXbKYb1ZG.md index 058252b71..ba50d59d6 100644 --- a/src/data/roadmaps/postgresql-dba/content/high-level-database-concepts@_BSR2mo1lyXEFXbKYb1ZG.md +++ b/src/data/roadmaps/postgresql-dba/content/high-level-database-concepts@_BSR2mo1lyXEFXbKYb1ZG.md @@ -1,3 +1,7 @@ # High Level Database Concepts -High-level database concepts encompass fundamental principles that underpin the design, implementation, and management of database systems. These concepts form the foundation of effective database management, enabling the design of robust, efficient, and scalable systems. \ No newline at end of file +High-level database concepts encompass fundamental principles that underpin the design, implementation, and management of database systems. These concepts form the foundation of effective database management, enabling the design of robust, efficient, and scalable systems. + +Visit the following resources to learn more: + +- [@article@Demystifying PostgreSQL: 10 Crucial Concepts and Files](https://medium.com/@RohitAjaygupta/demystifying-postgresql-10-crucial-concepts-and-files-explained-with-practical-examples-a5a70cd2b848) \ 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 60abefb85..dd6b9a62c 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 @@ -7,4 +7,4 @@ If you can't use the `COPY` command due to lack of privileges, consider using th Learn more from the following resources: - [@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 +- [@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/installation-and-setup@FtPiBWMFhjakyXsmSL_CI.md b/src/data/roadmaps/postgresql-dba/content/installation-and-setup@FtPiBWMFhjakyXsmSL_CI.md index be53a162c..4ead8dece 100644 --- a/src/data/roadmaps/postgresql-dba/content/installation-and-setup@FtPiBWMFhjakyXsmSL_CI.md +++ b/src/data/roadmaps/postgresql-dba/content/installation-and-setup@FtPiBWMFhjakyXsmSL_CI.md @@ -1,2 +1,8 @@ # Installation and Setup of PostgreSQL +To install and set up PostgreSQL, begin by downloading the installer from the official PostgreSQL website for your operating system (Windows, macOS, or Linux). For Windows, run the installer and follow the prompts to configure components, set a password for the superuser (postgres), and choose the installation directory and port (default is 5432). On macOS, using Homebrew is the recommended method; simply run brew install postgresql in the terminal, then initialize the database with brew services start postgresql. For Linux, use the package manager (APT for Debian/Ubuntu or YUM for CentOS/RHEL) to install PostgreSQL, followed by initializing the database and starting the service. After installation, you can access PostgreSQL using the psql command-line tool to create databases and manage your data effectively. + +Visit the following resources to learn more: + +- [@official@Installing PostgreSQL](https://www.postgresql.org/download/) +- [@article@PostgreSQL - Installation](https://www.postgresql.org/docs/current/tutorial-install.html) \ 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 b687c0287..65bc29227 100644 --- a/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md +++ b/src/data/roadmaps/postgresql-dba/content/introduction@lDIy56RyC1XM7IfORsSLD.md @@ -2,4 +2,8 @@ PostgreSQL is a powerful, open-source Object-Relational Database Management System (ORDBMS) that is known for its robustness, extensibility, and SQL compliance. It was initially developed at the University of California, Berkeley, in the 1980s and has since become one of the most popular open-source databases in the world. +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) 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 5f30abd47..bd20e6760 100644 --- a/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md +++ b/src/data/roadmaps/postgresql-dba/content/joining-tables@Hura0LImG9pyPxaEIDo3X.md @@ -4,5 +4,5 @@ Joining tables is a fundamental operation in the world of databases. It allows y Learn more from the following resources: -- [@official@Joins between tables](https://www.postgresql.org/docs/current/tutorial-join.html) -- [@article@PostgreSQL - Joins](https://www.w3schools.com/postgresql/postgresql_joins.php) \ No newline at end of file +- [@official@Joins Between Tables](https://www.postgresql.org/docs/current/tutorial-join.html) +- [@article@PostgreSQL - Joins](https://www.w3schools.com/postgresql/postgresql_joins.php) 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 523d0ab22..597129e8f 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 @@ -2,11 +2,10 @@ Keepalived is a robust and widely-used open-source solution for load balancing and high availability. It helps to maintain a stable and perfect working environment even in the presence of failures such as server crashes or connectivity issues. -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. +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: -- [@official@Keepalived Website](https://www.keepalived.org/) +- [@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/) 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 ac112fef3..b2b67549c 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,3 +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/) diff --git a/src/data/roadmaps/postgresql-dba/content/learn-to-automate@e5s7-JRqNy-OhfnjTScZI.md b/src/data/roadmaps/postgresql-dba/content/learn-to-automate@e5s7-JRqNy-OhfnjTScZI.md index a7f7ed463..3f1b3243c 100644 --- a/src/data/roadmaps/postgresql-dba/content/learn-to-automate@e5s7-JRqNy-OhfnjTScZI.md +++ b/src/data/roadmaps/postgresql-dba/content/learn-to-automate@e5s7-JRqNy-OhfnjTScZI.md @@ -1,3 +1,8 @@ # Learn Automation in PostgreSQL -When working with PostgreSQL, automating repetitive and time-consuming tasks is crucial for increasing efficiency and reliability in your database operations. \ No newline at end of file +When working with PostgreSQL, automating repetitive and time-consuming tasks is crucial for increasing efficiency and reliability in your database operations. + +Visit the following resources to learn more: + +- [@article@PostgreSQL - Automation](https://www.postgresql.org/docs/current/maintenance.html) +- [@article@Autoscaling Azure PostgreSQL Server with Automation Tasks](https://techcommunity.microsoft.com/blog/adforpostgresql/autoscaling-azure-postgresql-server-with-automation-tasks/3911718) \ No newline at end of file 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 6043eabb9..726947a0b 100644 --- a/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md +++ b/src/data/roadmaps/postgresql-dba/content/mailing-lists@8H7hJhGKxr1nrjkHv9Xao.md @@ -2,30 +2,14 @@ Mailing lists are an essential part of PostgreSQL's development community. They provide a platform for collaboration, discussion, and problem-solving. By participating in these lists, you can contribute to the development of PostgreSQL, share your knowledge with others, and stay informed about the latest updates, improvements, and conferences. -Here are some prominent mailing lists in PostgreSQL's development community: +PostgreSQL's development community offers a variety of mailing lists for discussions, announcements, and contributions. Key lists include **pgsql-hackers** for core development and feature discussions, **pgsql-announce** for official announcements, **pgsql-general** for general usage and administration queries, **pgsql-novice** for beginners seeking advice, and **pgsql-docs** for documentation-related contributions. Regional and language-specific lists are also available. To engage, subscribe to a mailing list that matches your interests, introduce yourself, read the archives for context, and participate in discussions. For guidelines, follow the Mailing List Etiquette. -- **pgsql-hackers**: This is the primary mailing list for PostgreSQL's core development. It is intended for discussions around new features, patches, performance improvements, and bug fixes. To subscribe, visit [pgsql-hackers Subscription](https://www.postgresql.org/list/pgsql-hackers/). +Visit the following resources to learn more: -- **pgsql-announce**: This mailing list is for official announcements regarding new PostgreSQL releases, security updates, and other important events. To stay updated, you can subscribe at [pgsql-announce Subscription](https://www.postgresql.org/list/pgsql-announce/). - -- **pgsql-general**: The pgsql-general mailing list is for general discussions related to PostgreSQL, including usage, administration, configuration, and SQL queries. Subscribe at [pgsql-general Subscription](https://www.postgresql.org/list/pgsql-general/). - -- **pgsql-novice**: This mailing list is specifically designed for PostgreSQL beginners who need help or advice. If you're new to PostgreSQL, consider joining this community by subscribing at [pgsql-novice Subscription](https://www.postgresql.org/list/pgsql-novice/). - -- **pgsql-docs**: If you're interested in contributing to PostgreSQL's documentation or want to discuss its content, subscribe to the pgsql-docs mailing list at [pgsql-docs Subscription](https://www.postgresql.org/list/pgsql-docs/). - -- **Regional and language-specific mailing lists**: PostgreSQL also offers several regional and language-specific mailing lists to help users communicate in their native languages. Find a suitable mailing list on the [PostgreSQL Mailing Lists page](https://www.postgresql.org/list/). - -## How to Contribute - -To get started with mailing lists, follow these steps: - -- **Subscribe**: Choose a mailing list that suits your interests and click on the respective subscription link to sign up. - -- **Introduce yourself**: It's a good idea to send a brief introduction email to the mailing list, describing your skills and interests related to PostgreSQL. - -- **Read the archives**: Familiarize yourself with previous discussions by reading the mailing list archives. You can find them on the [PostgreSQL Mailing Lists page](https://www.postgresql.org/list/). - -- **Participate**: Once you're comfortable with the mailing list's topics and etiquette, start participating in ongoing discussions or initiate new threads. - -Remember to follow the [mailing list's etiquette](https://www.postgresql.org/community/lists/etiquette/) to ensure a positive and productive experience for all community members. \ No newline at end of file +- [@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@PostgreSQL Mailing Lists page](https://www.postgresql.org/list/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/mvcc@-_ADJsTVGAgXq7_-8bdIO.md b/src/data/roadmaps/postgresql-dba/content/mvcc@-_ADJsTVGAgXq7_-8bdIO.md index 788fc1622..ebf354833 100644 --- a/src/data/roadmaps/postgresql-dba/content/mvcc@-_ADJsTVGAgXq7_-8bdIO.md +++ b/src/data/roadmaps/postgresql-dba/content/mvcc@-_ADJsTVGAgXq7_-8bdIO.md @@ -2,7 +2,8 @@ Multi-Version Concurrency Control (MVCC) is a technique used by PostgreSQL to allow multiple transactions to access the same data concurrently without conflicts or delays. It ensures that each transaction has a consistent snapshot of the database and can operate on its own version of the data. -Learn more from the following resources: +Visit the following resources to learn more: + - [@official@Intro to MVCC](https://www.postgresql.org/docs/current/mvcc-intro.html) -- [@article@Multiversion concurrency control - Wikipedia](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) +- [@article@Multi-Version Concurrency Control - Wikipedia](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) - [@article@What is MVVC?](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/What-is-MVCC-How-does-Multiversion-Concurrencty-Control-work) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/null@91eOGK8mtJulWRlhKyv0F.md b/src/data/roadmaps/postgresql-dba/content/null@91eOGK8mtJulWRlhKyv0F.md index ab55e8f2b..8bd8cad72 100644 --- a/src/data/roadmaps/postgresql-dba/content/null@91eOGK8mtJulWRlhKyv0F.md +++ b/src/data/roadmaps/postgresql-dba/content/null@91eOGK8mtJulWRlhKyv0F.md @@ -1,3 +1,8 @@ # The Relational Model: Null Values -In the relational model used by PostgreSQL, null values represent missing or unknown information within a database. Unlike zero, empty strings, or other default values, null signifies the absence of a value and is treated uniquely in operations and queries. For example, any arithmetic operation involving a null results in a null, and comparisons with null using standard operators return unknown rather than true or false. To handle null values, PostgreSQL provides specific functions and constructs such as `IS NULL`, `IS NOT NULL`, and the `COALESCE` function, which returns the first non-null value in its arguments. Understanding and correctly handling null values is crucial for accurate data retrieval and integrity in relational databases. \ No newline at end of file +In the relational model used by PostgreSQL, null values represent missing or unknown information within a database. Unlike zero, empty strings, or other default values, null signifies the absence of a value and is treated uniquely in operations and queries. For example, any arithmetic operation involving a null results in a null, and comparisons with null using standard operators return unknown rather than true or false. To handle null values, PostgreSQL provides specific functions and constructs such as `IS NULL`, `IS NOT NULL`, and the `COALESCE` function, which returns the first non-null value in its arguments. Understanding and correctly handling null values is crucial for accurate data retrieval and integrity in relational databases. + +Visit the following resources to learn more: + +- [@official@PostgreSQL - NULL](https://www.postgresql.org/docs/current/datatype-numeric.html#DATATYPE-NULL) +- [@article@PostgreSQL - NULL Values](https://www.relationaldbdesign.com/database-analysis/module2/relational-database-null-values.php) \ No newline at end of file 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 4c0f6d646..df2aec8ae 100644 --- a/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md +++ b/src/data/roadmaps/postgresql-dba/content/object-model@RoYP1tYw5dvhmkVTo1HS-.md @@ -1,3 +1,9 @@ -# Overview +# Object Model in PostgreSQL -PostgreSQL is an object-relational database management system (ORDBMS). That means it combines features of both relational (RDBMS) and object-oriented databases (OODBMS). The object model in PostgreSQL provides features like user-defined data types, inheritance, and polymorphism, which enhances its capabilities beyond a typical SQL-based RDBMS. \ No newline at end of file +PostgreSQL is an object-relational database management system (ORDBMS). That means it combines features of both relational (RDBMS) and object-oriented databases (OODBMS). The object model in PostgreSQL provides features like user-defined data types, inheritance, and polymorphism, which enhances its capabilities beyond a typical SQL-based RDBMS. + +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://www.postgresqltutorial.com/postgresql-tutorial/postgresql-server-and-database-objects/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/object-priviliges@S20aJB-VuSpXYyd0-0S8c.md b/src/data/roadmaps/postgresql-dba/content/object-priviliges@S20aJB-VuSpXYyd0-0S8c.md index f57f02cbb..8af3aa35c 100644 --- a/src/data/roadmaps/postgresql-dba/content/object-priviliges@S20aJB-VuSpXYyd0-0S8c.md +++ b/src/data/roadmaps/postgresql-dba/content/object-priviliges@S20aJB-VuSpXYyd0-0S8c.md @@ -4,5 +4,5 @@ Object privileges in PostgreSQL are the permissions given to different user role Learn more from the following resources: -- [@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) \ No newline at end of file +- [@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) diff --git a/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md b/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md index e3cdd1b6c..0644ab0f0 100644 --- a/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md +++ b/src/data/roadmaps/postgresql-dba/content/operators@nRJKfjW2UrmKmVUrGIfCC.md @@ -2,6 +2,6 @@ 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. -- [@official@Kubernetes Roadmap](https://roadmap.sh/kubernetes) -- [@official@Kubernetes Website](https://kubernetes.io/) +- [@roadmap@Visit Dedicated Kubernetes Roadmap](https://roadmap.sh/kubernetes) +- [@official@Kubernetes](https://kubernetes.io/) - [@article@Kubernetes Operators](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/package-managers@pEtQy1nuW98YUwrbfs7Np.md b/src/data/roadmaps/postgresql-dba/content/package-managers@pEtQy1nuW98YUwrbfs7Np.md index e849a4d7e..6866511e0 100644 --- a/src/data/roadmaps/postgresql-dba/content/package-managers@pEtQy1nuW98YUwrbfs7Np.md +++ b/src/data/roadmaps/postgresql-dba/content/package-managers@pEtQy1nuW98YUwrbfs7Np.md @@ -2,8 +2,8 @@ Package managers are essential tools that help you install, update, and manage software packages on your system. They keep track of dependencies, handle configuration files and ensure that the installation process is seamless for the end-user. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Install PostgreSQL with APT](https://www.postgresql.org/download/linux/ubuntu/) -- [@article@Install PostgreSQL with YUM & DNF](https://www.postgresql.org/download/linux/redhat/) -- [@article@Install PostgreSQL with Homebrew](https://wiki.postgresql.org/wiki/Homebrew) \ No newline at end of file +- [@official@Install PostgreSQL with APT](https://www.postgresql.org/download/linux/ubuntu/) +- [@official@Install PostgreSQL with YUM & DNF](https://www.postgresql.org/download/linux/redhat/) +- [@official@Install PostgreSQL with Homebrew](https://wiki.postgresql.org/wiki/Homebrew) \ No newline at end of file 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 2fc900d3a..f3579b067 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,17 +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. -Stolon - Stolon is a cloud-native PostgreSQL manager that automatically ensures high availability and, if required, can seamlessly scale instances. It was developed by the team at Sorint.lab and is written in Go. Some of the main features that differentiate Stolon from other solutions are: +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. -Pgpool-II - Pgpool-II is an advanced and powerful PostgreSQL management and load balancing solution, developed by the Pgpool Global Development Group. Pgpool-II not only provides high availability and connection pooling, but also offers a myriad of other features, such as: - -Repmgr - Repmgr is an open-source replication management tool for PostgreSQL that has been fully integrated and supported by 2ndQuadrant. It simplifies administration and daily management, providing a robust and easy-to-use solution. The main features of Repmgr include: - -PAF (PostgreSQL Automatic Failover) - PAF is an HA (high-availability) resource agent for the Pacemaker and Corosync cluster manager, designed for the PostgreSQL's built-in streaming replication. It was developed by the team at Dalibo and is quite lightweight compared to other alternatives. Key features of PAF include: - -Learn more from the following resources: +Visit the following resources to learn more: - [@opensources@sorintlab/stolen](https://github.com/sorintlab/stolon) -- [@official@pgPool Website](https://www.pgpool.net/mediawiki/index.php/Main_Page) -- [@official@RepMgr Website](https://repmgr.org/) -- [@opensource@dalibo/PAF](https://github.com/dalibo/PAF) \ No newline at end of file +- [@official@RepMgr](https://repmgr.org/) +- [@official@pgPool](https://www.pgpool.net/mediawiki/index.php/Main_Page) +- [@opensource@dalibo/PAF](https://github.com/dalibo/PAF) 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 0f728f205..11afb0d9f 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 @@ -1,28 +1,6 @@ # Connection Pooling: Alternatives to PgBouncer -## Pgpool-II - -Pgpool-II is another widely-used connection pooler for PostgreSQL. It provides several advanced features, such as load balancing, replication, and limiting connections. - -- **Load Balancing** - Pgpool-II can distribute read queries among multiple PostgreSQL servers to balance the read load, helping to improve overall performance. -- **Replication** - In addition to connection pooling, Pgpool-II can act as a replication tool for creating real-time data backups. -- **Limiting Connections** - You can set connection limits for clients to control the maximum number of allowed connections for specific users or databases. - -## HAProxy - -HAProxy is a high-performance and highly-available load balancer for TCP and HTTP-based applications, including PostgreSQL. It is particularly well-suited for distributing connections across multiple PostgreSQL servers for high availability and load balancing. - -- **Connection Distribution** - HAProxy uses load balancing algorithms to ensure connections are evenly distributed across the available servers, which can help prevent connection overloading. -- **Health Checking** - HAProxy can perform periodic health checks on your PostgreSQL servers, which can help to ensure that client connections are redirected to healthy servers. -- **SSL Support** - HAProxy provides SSL/TLS support, enabling secure connections between clients and PostgreSQL servers. - -## Odyssey - -Odyssey is an open-source, multithreaded connection pooler for PostgreSQL developed by Yandex. It is designed for high-performance and large-scale deployments and supports features like transparent SSL, load balancing, and advanced routing. - -- **High Performance** - Odyssey uses a multithreaded architecture to process its connections, which can help significantly increase its performance compared to single-threaded connection poolers. -- **Advanced Routing** - Odyssey allows you to configure routing rules and load balancing based on client, server, user, and even specific SQL queries. -- **Transparent SSL** - Odyssey supports transparent SSL connections between clients and PostgreSQL servers, ensuring secure communication. +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: 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 e7fd1a9eb..b2e5a5a16 100644 --- a/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md +++ b/src/data/roadmaps/postgresql-dba/content/puppet@e39bceamU-lq3F2pmLz6v.md @@ -4,5 +4,5 @@ Puppet is an open-source software configuration management tool that enables sys Learn more from the following resources: -- [@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 +- [@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/query-processing@Qk14b9WyeCp9RV9WAwojt.md b/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md index 426c88548..5249c9200 100644 --- a/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md +++ b/src/data/roadmaps/postgresql-dba/content/query-processing@Qk14b9WyeCp9RV9WAwojt.md @@ -1,8 +1,8 @@ # Query Processing in PostgreSQL -In this section, we will discuss the concept of query processing in PostgreSQL. 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. +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: - [@article@Query Processing in PostgreSQL](https://medium.com/agedb/query-processing-in-postgresql-1309fa93f69f) -- [@course@Understand PostgreSQL query processing - Microsoft](https://learn.microsoft.com/en-us/training/modules/understand-postgresql-query-process/) \ No newline at end of file +- [@course@Understand PostgreSQL Query Processing - Microsoft](https://learn.microsoft.com/en-us/training/modules/understand-postgresql-query-process/) \ No newline at end of file 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 cbe39c9ca..2d0bf441f 100644 --- a/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md +++ b/src/data/roadmaps/postgresql-dba/content/recursive-cte@A1LGOqqaka0ILcYwybclP.md @@ -6,5 +6,5 @@ Note that recursive CTEs can be complex, and it's important to ensure a proper t Learn more from the following resources: -- [@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 +- [@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/relational-model@mDVbjdVN0spY7dI_8k1YW.md b/src/data/roadmaps/postgresql-dba/content/relational-model@mDVbjdVN0spY7dI_8k1YW.md index 9d408aee0..b2f4c388d 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 @@ -2,22 +2,7 @@ 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 core concepts of the relational model include: +Learn more from the following resources: -- **Attributes:** An attribute is a column within a table that represents a specific characteristic or property of an entity, such as "name", "age", "email", etc. - -- **Tuples:** A tuple is a single row within a table that represents a specific instance of an entity with its corresponding attribute values. - -- **Relations:** A relation is a table that consists of a set of tuples with the same attributes. It represents the relationship between entities and their attributes. - -- **Primary Key:** A primary key is a unique identifier for each tuple within a table. It enforces the uniqueness of records and is used to establish relationships between tables. - -- **Foreign Key:** A foreign key is an attribute within a table that references the primary key of another table. It is used to establish and enforce connections between relations. - -- **Normalization:** Normalization is a process of organizing data in a way to minimize redundancy and improve data integrity. It involves decomposing complex tables into simpler tables, ensuring unique records, and properly defining foreign keys. - -- **Data Manipulation Language (DML):** DML is a subset of SQL used to perform operations on data stored within the relational database, such as INSERT, UPDATE, DELETE, and SELECT. - -- **Data Definition Language (DDL):** DDL is another subset of SQL used to define, modify, or delete database structures, such as CREATE, ALTER, and DROP. - -By understanding and implementing the relational model, databases can achieve high-level data integrity, reduce data redundancy, and simplify the process of querying and manipulating data. PostgreSQL, as an RDBMS (Relational Database Management System), fully supports the relational model, enabling users to efficiently and effectively manage their data in a well-structured and organized manner. \ No newline at end of file +- [@article@What is the Relational Model?](https://www.postgresql.org/docs/7.1/relmodel-oper.html) +- [@article@The Relational Model](https://www.geeksforgeeks.org/relational-model-in-dbms/) \ 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 12fa68931..ec8b4eb64 100644 --- a/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md +++ b/src/data/roadmaps/postgresql-dba/content/relations@2hM2IPAnNYq-LlEbcFp2Z.md @@ -2,5 +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. -- [@article@Relationships](https://hasura.io/learn/database/postgresql/core-concepts/6-postgresql-relationships/) -- [@official@domain_contraints](https://www.postgresql.org/docs/current/infoschema-domain-constraints.html) \ No newline at end of file +Learn more from the following resources: + +- [@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/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md b/src/data/roadmaps/postgresql-dba/content/reporting-logging--statistics@507TY35b8iExakbBMrHgZ.md index 7c5655d53..7abca890c 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 @@ -4,5 +4,5 @@ When working with PostgreSQL, it is often useful to analyze the performance of y Learn more from the following resources: -- [@official@Error reporting and logging](https://www.postgresql.org/docs/current/runtime-config-logging.html) +- [@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/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md b/src/data/roadmaps/postgresql-dba/content/reviewing-patches@Jy0G0ZnHPOM8hba_PbwuA.md index e9f12dbaf..69a3e0310 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,26 +1,8 @@ # Reviewing Patches -One of the most valuable contributions to PostgreSQL is reviewing and testing patches submitted by other developers. This process ensures that every proposed change undergoes quality control, helps new contributors get involved and learn about PostgreSQL, and maintains the overall stability and reliability of the project. +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. -### Why is reviewing patches important? +Visit the following resources to learn more: -- Improves code quality by identifying bugs, security issues, and performance problems -- Helps maintain consistency and adherence to project standards and best practices -- Provides valuable feedback for developers working on new features and enhancements -- Helps new contributors learn about PostgreSQL internals and progressively grow their expertise - -### How can I participate in reviewing patches? - -- Subscribe to the [pgsql-hackers mailing list](https://www.postgresql.org/list/pgsql-hackers/) where patch discussions and reviews take place. -- Browse the [commitfest schedule](https://commitfest.postgresql.org/) to stay informed about upcoming events and deadlines. -- Choose a patch from the commitfest that interests you or that you feel confident to review. -- Analyze the patch to ensure: - - Correctness: Does the patch work as intended and solve the problem it addresses? - - Performance: Does the patch avoid introducing performance regressions or trade-offs? - - Code quality: Is the code clean, modular, and maintainable? Does it adhere to PostgreSQL coding conventions? - - Documentation: Are the changes properly documented, and do they provide the necessary context for other developers? - - Test coverage: Are there appropriate tests covering the new code or changes? -- Provide feedback on the patch, either by replying to the relevant mailing list thread or by commenting directly on the patch submission in the commitfest app. Be constructive and specific in your comments, and offer suggestions for improvement when possible. -- Follow up on any discussion around your review and participate in ongoing improvements and iterations of the patch. - -Remember, reviewing patches is a collaborative process that relies on the input of many individuals. Your contributions are essential in maintaining the high quality and stability of the PostgreSQL project. \ No newline at end of file +- [@official@pgsql-hackers Mailing List](https://www.postgresql.org/list/pgsql-hackers/) +- [@official@Commitfest Schedule](https://commitfest.postgresql.org/) 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 209e5ac5b..4025672a5 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 @@ -4,5 +4,5 @@ Row Level Security (RLS) is a feature introduced in PostgreSQL 9.5 that allows y Learn more from the following resources: -- [@video@How to Setup Row Level Security (RLS) in PostgreSQL](https://www.youtube.com/watch?v=j53NoW9cPtY) -- [@official@Row Security Policies](https://www.postgresql.org/docs/current/ddl-rowsecurity.html) \ No newline at end of file +- [@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 ede45de06..ad85fc67a 100644 --- a/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md +++ b/src/data/roadmaps/postgresql-dba/content/rows@Rd3RLpyLMGQZzrxQrxDGo.md @@ -4,4 +4,5 @@ A row in PostgreSQL represents a single, uniquely identifiable record with a spe Learn more from the following resources: -- [@official@Concepts](https://www.postgresql.org/docs/7.1/query-concepts.html) \ No newline at end of file +- [@official@Concepts](https://www.postgresql.org/docs/7.1/query-concepts.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/schemas@mF6qAlo2ULJ3lECG2m0h7.md b/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md index 47fa93511..19374aa78 100644 --- a/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md +++ b/src/data/roadmaps/postgresql-dba/content/schemas@mF6qAlo2ULJ3lECG2m0h7.md @@ -4,5 +4,5 @@ Schemas are an essential part of PostgreSQL's object model, and they help provid Learn more from the following resources: -- [@article@What is a schema in PostgreSQL](https://hasura.io/learn/database/postgresql/core-concepts/1-postgresql-schema/) -- [@official@Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) \ No newline at end of file +- [@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 2f23bbd0d..7f930c5ae 100644 --- a/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md +++ b/src/data/roadmaps/postgresql-dba/content/security@2Zg8R5gs9LMQOcOMZtoPk.md @@ -1,3 +1,8 @@ # PostgreSQL Security Concepts -Securing PostgreSQL involves multiple layers of considerations to protect data and ensure only authorized access. \ No newline at end of file +Securing PostgreSQL involves multiple layers of considerations to protect data and ensure only authorized access. + +Learn more from the following resources: + +- [@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/shell-scripts@-clI2RmfhK8F8beHULaIB.md b/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md index 6e44a10e6..dc19c44b8 100644 --- a/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md +++ b/src/data/roadmaps/postgresql-dba/content/shell-scripts@-clI2RmfhK8F8beHULaIB.md @@ -4,5 +4,6 @@ Shell scripts are a powerful tool used to automate repetitive tasks and perform Learn more from the following resources: -- [@article@Shell scripting tutorial](https://www.tutorialspoint.com/unix/shell_scripting.htm) +- [@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_) diff --git a/src/data/roadmaps/postgresql-dba/content/sql-query-patterns--anti-patterns@G9DB1ZQjgXaHxJ4Lm6xGx.md b/src/data/roadmaps/postgresql-dba/content/sql-query-patterns--anti-patterns@G9DB1ZQjgXaHxJ4Lm6xGx.md index b1ff4a5b2..1765cc7ca 100644 --- a/src/data/roadmaps/postgresql-dba/content/sql-query-patterns--anti-patterns@G9DB1ZQjgXaHxJ4Lm6xGx.md +++ b/src/data/roadmaps/postgresql-dba/content/sql-query-patterns--anti-patterns@G9DB1ZQjgXaHxJ4Lm6xGx.md @@ -1,3 +1,7 @@ # SQL Query Patterns in PostgreSQL Schema query patterns in PostgreSQL optimize data retrieval and manipulation by using indexes on frequently queried columns to speed up SELECT queries, optimizing joins with indexed foreign keys and appropriate join types, and leveraging table partitioning to limit data scans. Common Table Expressions (CTEs) break down complex queries for better readability and maintainability, while window functions allow advanced analytics within queries. Query caching and prepared statements reduce access times and execution overhead, respectively, and materialized views precompute and store complex query results for faster access. These patterns collectively enhance the efficiency, performance, and reliability of PostgreSQL queries. + +Visit the following resources to learn more: + +- [@official@PostgreSQL - Query Patterns](https://www.postgresql.org/docs/current/functions-matching.html) \ 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 4d4189119..1389529c8 100644 --- a/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md +++ b/src/data/roadmaps/postgresql-dba/content/top@pvj33qDiG3sSjtiW6sUra.md @@ -4,6 +4,6 @@ Learn more from the following resources: -- [@article@How to use the top command in Linux](https://phoenixnap.com/kb/top-command-in-linux) +- [@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) - [@video@Demystifying the Top Command in Linux](https://www.youtube.com/watch?v=WsR11EGF9PA) \ No newline at end of file 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 fdf7e6991..27cd821e0 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 @@ -2,15 +2,9 @@ In the relational model, a **tuple** is a fundamental concept that represents a single record or row in a table. In PostgreSQL, a tuple is composed of a set of attribute values, each corresponding to a specific column or field in the table. A tuple is defined as an ordered set of attribute values, meaning that each value in a tuple corresponds to a specific attribute or column in the table. The values can be of different data types, such as integers, strings, or dates, depending on the schema of the table. -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, which can be classified into three main categories: - -- **Projection**: This operation involves selecting one or more attributes from a tuple and creating a new tuple with only the selected attributes. For example, projecting the `name` and `email` attributes from the previously mentioned tuple would result in `('John Smith', 'john.smith@example.com')`. - -- **Selection**: Selection involves filtering tuples based on a specific condition. For example, you may want to select all tuples from the `users` table where the `email` attribute ends with "@example.com". - -- **Join**: The join operation combines tuples from two or more tables based on a common attribute or condition. For example, if we have another table called `orders` with a `user_id` column, we could use a join operation to retrieve all records from both tables where the `users.id` attribute matches the `orders.user_id`. +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: -- [@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) -- [@article@How PostgreSQL freezes tuples](https://medium.com/@hnasr/how-postgres-freezes-tuples-4a9931261fc) \ No newline at end of file +- [@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/using-docker@5MjJIAcn5zABCK6JsFf4k.md b/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md index 1d64366f8..718e35f96 100644 --- a/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md +++ b/src/data/roadmaps/postgresql-dba/content/using-docker@5MjJIAcn5zABCK6JsFf4k.md @@ -4,5 +4,6 @@ Docker is an excellent tool for simplifying the installation and management of a Learn more from the following resources: +- [@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 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 4957e30c2..62fab398f 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 @@ -4,4 +4,4 @@ Learn more from the following resources: -- [@official@PostgreSQL documentation](https://www.postgresql.org/docs/current/pgctlcluster.html) \ No newline at end of file +- [@official@pg_ctlcluster](https://www.postgresql.org/docs/current/pgctlcluster.html) 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 7f4ecacc9..1590e5c5d 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 @@ -4,5 +4,8 @@ Relational databases are a type of database management system (DBMS) that stores Learn more from the following resources: -- [@article@Relational Databases: concept and history](https://www.ibm.com/topics/relational-databases) +- [@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) 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 4d48a675e..ced82d6e4 100644 --- a/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md +++ b/src/data/roadmaps/postgresql-dba/content/zabbix@z3VD68R2uyu1s-3giRxKr.md @@ -4,6 +4,6 @@ Zabbix is an open-source monitoring software for networks, servers, virtual mach Learn more from the following resources: -- [@official@Zabbix Website](https://www.zabbix.com/) +- [@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) \ No newline at end of file +- [@article@Using Zabbix to Monitor your Home Network](https://jswheeler.medium.com/using-zabbix-to-monitor-your-home-network-71ed2b1181ae)