دوره جامع آموزش PostgreSQL! آپدیت ۲۰۲۶! - آخرین آپدیت

دانلود Complete PostgreSQL course! Updated v2026!

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: همه چیز را درباره Postgres، بهترین سیستم مدیریت پایگاه داده (DBMS) متن‌باز در جهان بیاموزید! دوره‌ای کاربردی و به‌روزرسانی شده برای سال ۲۰۲۶! در این دوره موارد زیر را خواهید آموخت: آشنایی عمیق با پایگاه داده PostgreSQL کار با pgAdmin مدیریت پایگاه داده (Administration) پشتیبان‌گیری و بازیابی (Backup and Restore) به‌کارگیری هوش مصنوعی در PostgreSQL پیشنیازها: تسلط بر لینوکس Ubuntu یا RHEL/Rocky Linux آشنایی با پایتون، SQL و منطق برنامه‌نویسی توصیه می‌شود.

این دوره شامل مباحث استفاده از هوش مصنوعی است


پایگاه داده PostgreSQL که در سال ۱۹۹۶ عرضه شد، یک DBMS متن‌باز است که توسط «گروه توسعه جهانی PostgreSQL» پشتیبانی می‌شود.


به دلیل متن‌باز و کاملاً رایگان بودن، PostgreSQL به طور گسترده در شرکت‌های سراسر جهان استفاده می‌شود.


توصیه می‌شود هر کسی که قصد سرمایه‌گذاری در ایجاد سیستم‌های کوچک تا بزرگ را دارد، از پایگاه داده PostgreSQL استفاده کند.


برخی از ویژگی‌های اصلی عبارتند از:

کلیدهای خارجی (Foreign keys);

جستجوهای پیچیده‌تر;

نرم‌افزاری قدرتمند و با کیفیت با کدهای قابل نگهداری و مستند

مدیریت هم‌زمانی چند نسخه‌ای (MVCC);

یکپارچگی تراکنشی (Transactional integrity);

عملکرد بالا، امنیت و در دسترس بودن حداکثری

دسترسی‌پذیری بالا;

پشتیبانی از مدل هیبریدی شیء-رابطه‌ای (Object-relational);

ویوها (Views);

تریگرها (Triggers);

ایندکس‌گذاری متن (Text indexing);

کار با هوش مصنوعی مستقیماً در PostgreSQL


زبان‌های برنامه‌نویسی ساختاریافته برای رویه‌های ذخیره شده مانند pgSQL، پایتون، جاوا، Perl، C و غیره؛ سیستم ذخیره‌سازی داده‌های PostGIS برای سیستم‌های اطلاعات جغرافیایی (GIS).

همچنین توسط هر کاربر قابل گسترش است و می‌توان ابزارهای جدیدی مانند زبان‌های رویه‌ای، انواع داده‌ها، توابع، عملگرها و متدهای ایندکس را به آن اضافه کرد.

به دلیل لایسنس منعطف، این DBMS می‌تواند توسط هر شرکت و برای هر هدفی (تجاری، آکادمیک، شخصی) بدون پرداخت هرگونه هزینه لایسنس استفاده، تغییر و توزیع شود.

بسیاری از مردم تعجب می‌کنند که مجموعه ویژگی‌های PostgreSQL بیشتر با Oracle Database یا SQL Server قابل مقایسه است تا با MySQL یا MariaDB.

تنها وجه مشترک MySQL/MariaDB و PostgreSQL این است که هر دو پروژه متن‌باز هستند;

علاوه بر این، ویژگی‌ها و فلسفه‌های استفاده از آن‌ها تقریباً کاملاً متفاوت است.

در روزهای ابتدایی که PostgreSQL یک پایگاه داده تحقیقاتی بود، تمرکز منحصراً بر ویژگی‌های جدید بود.

اما در سال‌های اخیر، حجم عظیمی از کدها بازنویسی و بهبود یافته‌اند و افزونه‌های جدیدی برای مدیران پایگاه داده، نرم‌افزارهای سرور پایدارتر و قابلیت در دسترس بودن بالا برای مصارف تجاری فراهم شده است.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه‌ای بر PostgreSQL Introduction to PostgreSQL

آماده‌سازی محیط Environment Preparation

  • نصب VirtualBox Installing VirtualBox

  • نصب Rocky Linux 9 Installing Rocky Linux 9

  • استفاده از SSH از طریق PowerShell در ویندوز Using SSH via PowerShell on Windows

گام‌های نخست First steps

  • نصب PostgreSQL روی Rocky Linux Installing PostgreSQL on Rocky Linux

  • نصب PostgreSQL روی ویندوز Installing PostgreSQL on Windows

  • کار با pgAdmin Using pgAdmin

  • دستور psql The psql command

  • دستورات اصلی psql Main psql commands

  • معماری پردازشی PostgreSQL PostgreSQL Process Architecture

آموزش SQL Learning SQL

  • SQL چیست و چه کاربردی دارد What is SQL and what is it for

  • پر کردن پایگاه داده Populating our database

  • استفاده از دستور SELECT Using the SELECT command

  • استفاده از دستور SELECT - بخش ۲ Using the SELECT command - part 2

  • استفاده از دستور SELECT - بخش ۳ Using the SELECT command - part 3

  • استفاده از Order By Using Order By

  • اتصال جداول (Joins) Table Joins

  • کار با چندین جدول Working with multiple tables

  • کار با رشته‌ها Working with strings

  • کار با اعداد Working with Numbers

  • کار با اعداد - بخش ۲ Working with Numbers Part 2

  • تغییر داده‌ها - INSERT Database Manipulation - INSERT

  • تغییر داده‌ها - UPDATE Database Manipulation - UPDATE

  • تغییر داده‌ها - DELETE Database Manipulation - DELETE

  • کار با محدودیت‌ها - کلید اصلی (Primary Key) Working with Constraints - Primary Key

  • کار با محدودیت‌ها - کلید خارجی (Foreign Key) Working with Constraints - Foreign Key

مدیریت پایگاه داده Database administration

  • فایل‌های پیکربندی Configuration Files

  • مدیریت اتصالات Managing connections

  • درک نقش‌ها (Roles) Understanding Roles

  • ایجاد پایگاه داده Creating a database

  • استفاده از اسکیماها (Schemas) Using Schemas

  • دسترسی‌ها و امتیازات (Privileges) Privileges

  • مدیریت فضای ذخیره‌سازی دیسک با Tablespaces Managing disk storage with Tablespaces

  • استفاده از دستور ALTER SYSTEM Using the ALTER SYSTEM command

  • آپدیت نسخه‌های PostgreSQL Updating PostgreSQL versions

  • اجرای چندین نمونه Postgres روی یک میزبان Multiple Postgres instances on the same host

جداول Tables

  • جداول Tables

  • مدیریت جداول موقت و EXISTS Managing temporary tables and EXISTS

  • جداول Unlogged و TYPE OF Unlogged and TYPE OF Tables

  • وارد کردن و انتخاب داده‌ها Inserting and selecting data

  • مقادیر NULL NULL Values

  • به‌روزرسانی و حذف داده‌ها Updating and removing data

  • افزایش خودکار با Serial Auto Increment with Serial

  • سکانس‌ها (Sequences) Sequences

ویوها (Views) Views

  • ویوها Visions

  • حذف ویو (Drop View) Drop View

  • ویوهای قابل به‌روزرسانی Updatable Views

  • ویوهای متریالایز شده (Materialized Views) Materialized Views

  • ویوهای بازگشتی (Recursive View) Recursive View

پرس‌وجوهای پیچیده Complex queries

  • استفاده از عبارت LIKE Using the LIKE clause

  • استفاده از DISTINCT Using DISTINCT

  • استفاده از limit و offset Using limit and offset

  • زیرپرس‌وجوهای IN، NOT IN و EXISTS، NOT EXISTS IN-NOT IN and EXISTS-NOT EXISTS subqueries

  • دستورات JOIN JOIN Commands

  • اتصال LEFT و RIGHT JOIN LEFT e RIGHT JOIN

  • اتصال FULL OUTER JOIN FULL OUTER JOIN

  • عبارت CASE CASE

  • تابع COALESCE COALESCE

  • تابع NULLIF NULLIF

  • عبارات BETWEEN و NOT BETWEEN BETWEEN e NOT BETWEEN

  • اتصال رشته‌ها با CONCAT و CONCAT_WS Concatenation with CONCAT and CONCAT_WS

محدودیت‌ها (Constraints) Constraints

  • محدودیت‌ها (Constraints) Constraints

  • محدودیت‌های Check Constraints Check

  • محدودیت‌های UNIQUE UNIQUE Constraints

  • محدودیت‌های PRIMARY KEY PRIMARY KEY Constraints

  • محدودیت‌های FOREIGN KEY FOREIGN KEY Constraints

  • عبارت GENERATED AS IDENTITY GENERATED AS IDENTITY

  • مقدار پیش‌فرض (DEFAULT) DEFAULT

  • استفاده از NOT NULL با NOT VALID NOT NULL with NOT VALID

ایندکس‌ها Indexes

  • ایجاد ایندکس (CREATE INDEX) CREATE INDEX

  • لیست کردن و حذف ایندکس List and DROP Index

  • ایندکس UNIQUE UNIQUE Index

  • ایندکس روی عبارات (Expressions) Indexes on Expressions

  • ایندکس جزئی (Partial Index) Partial Index

  • ایندکس‌های چند ستونی Multicolumn Indexes

  • ایجاد جستجوی فازی با pg_trgm Creating a fuzzy search with pg_trgm

  • درک دستور EXPLAIN Understanding the EXPLAIN command

  • دستور EXPLAIN ANALYZE EXPLAIN ANALYZE

  • ایندکس HypoPG HypoPG Index

  • پارتیشن‌بندی جداول Table Partitioning

  • پارتیشن‌بندی بازه‌ای (Interval) Interval Partitioning

  • پارتیشن‌بندی بر اساس لیست و هش Partitioning by lists and hashes

  • استفاده از ایندکس BRIN Using the BRIN index

  • پارامتر FILLFACTOR در ایندکس Index FILLFACTOR

انواع داده‌ها Data types

  • نوع داده NUMERIC NUMERIC

  • انواع CHAR، VARCHAR و TEXT CHAR, VARCHAR and TEXT

  • نوع داده Boolean Boolean

  • نوع داده Date Date

  • نوع داده Timestamp Timestamp

  • نوع داده Interval Interval

  • نوع داده TIME TIME

  • نوع داده SERIAL SERIAL

  • نوع داده UUID UUID

  • نوع داده JSON JSON

  • نوع داده hstore hstore

  • کار با ماتریس‌ها Working with Matrices

  • کار با انواع بازه‌ای (Range Types) Working with Range Types

  • نوع داده Jsonb Jsonb

  • ایندکس‌ها برای Jsonb Indexes for Jsonb

  • ایجاد DOMAIN و TYPE CREATE DOMAIN and TYPE

  • نوع داده XML XML

توابع Functions

  • مقدمه‌ای بر توابع Introduction to function

  • توابع با حلقه FOR LOOP Functions with FOR LOOP

  • استفاده از Raise Notice Raise Notice

  • کار با کلاس‌های عملگر (Operator Classes) Working with operator classes

توابع تجمیعی Aggregation functions

  • مقدمه‌ای بر توابع تجمیعی Introduction to aggregation functions

  • تابع AVG AVG

  • تابع ARRAY_AGG ARRAY_AGG

  • تابع COUNT COUNT

  • تابع SUM SUM

توابع پنجره‌ای (Window Functions) Window functions

  • مقدمه‌ای بر توابع پنجره‌ای Introduction to Window Functions

  • تابع RANK RANK Function

  • تابع DENSE_RANK DENSE_RANK Function

  • تابع ROW_NUMBER ROW_NUMBER Function

  • تابع CUME_DIST CUME_DIST Function

  • توابع FIRST و LAST VALUE FIRST and LAST VALUE

تریگرها Trigger

  • ایجاد تریگر Creating a trigger

  • تغییر تریگر (ALTER TRIGGER) ALTER TRIGGER

  • فعال و غیرفعال کردن تریگر Enable-Disable Trigger

جستجوی تمام‌متن (Full Text Search) Full Text Search

  • مقدمه‌ای بر جستجوی تمام‌متن Introduction to Full Text Search

  • کار با tsvector Working with tsvector

  • استفاده عملی از ایندکس RUM Using the RUM Index in Practice

  • مقایسه کاربردی GIN در مقابل GiST و RUM برای جستجوی تمام‌متن Practical Comparison of GIN vs GiST vs RUM for Full Text Search

  • افزایش سرعت جستجو با pg_bigm Speeding up the search process with pg_bigm

  • جستجوی تمام‌متن با PGroonga Full Text Search with PGroonga

امنیت Security

  • احراز هویت امن و راه دور با SSL Remote and secure authentication with SSL

  • محدودیت‌های کاربر User Restrictions

  • پیاده‌سازی امنیت سطح ردیف (Row Level Security) Implementing Row Level Security

  • بررسی مجوزها (Permissions) Inspecting permissions

پشتیبان‌گیری و بازیابی Backup and Restore

  • درک دستور پشتیبان‌گیری (Backup) Understanding the Backup command

  • روش‌های بازیابی داده‌ها Restoration methods

  • پشتیبان‌گیری خودکار در لینوکس Automated Backup on Linux

  • فشرده‌سازی LZ4 و ZSTD LZ4 and ZSTD Compression

  • پشتیبان‌گیری و بازیابی با pgBackRest Backup and Restore with pgBackRest

  • پشتیبان‌گیری و بازیابی با pgBackRest - بخش ۲ Backup and Restore with pgBackRest part2

پشتیبان‌گیری و بازیابی با PITR Backup and Restore with PITR

  • آماده‌سازی برای پشتیبان‌گیری PITR PITR Backup Preparations

  • انجام پشتیبان‌گیری PITR Backing up PITR

  • بازیابی فایل‌های WAL Restoring WAL files

  • تکثیر WAL (WAL Replication) WAL Replication

  • استریمینگ در حالت نامتقارن (Asynchronous) Streaming in asynchronous mode

  • استریمینگ در حالت متقارن (Synchronous) Streaming in synchronous mode

پشتیبان‌گیری و بازیابی با Barman Backup and Restore with Barman

  • آماده‌سازی برای پشتیبان‌گیری Barman Barman backup preparations

  • نصب Barman Barman Installation

  • نصب Barman - بخش ۲ Installing Barman - part 2

  • پشتیبان‌گیری با Barman Backup with Barman

  • انجام عملیات بازیابی Performing the restoration

کلاسترینگ در PostgreSQL با repmgr Clustering in PostgreSQL with repmgr

  • در دسترس بودن بالا (HA) با repmgr High availability with repmgr

  • اولین نصب‌ها و پیکربندی‌ها First installations and configurations

  • پیکربندی سرور Master Master Server Configuration

  • پیکربندی سرور Standby Standby Server Configuration

  • پیکربندی سرور Witness Witness Server Configuration

  • تغییر سرور اصلی (Primary Server) Changing the Primary Server

تراکنش‌ها و بلاک شدن Transactions and blocking

  • کار با تراکنش‌ها Working with Transactions

  • کار با SAVEPOINT و DDLها Working with SAVEPOINT and DDLs

  • درک مفاهیم پایه بلاک شدن (Blocking) Understanding the basics of blocking

  • استفاده از FOR SHARE و FOR UPDATE Using FOR SHARE and FOR UPDATE

  • درک سطوح ایزولاسیون تراکنش Understanding transaction isolation levels

  • بررسی بن‌بست‌ها (Deadlocks) و مشکلات مشابه Studying deadlocks and similar problems

  • تئوری VACUUM VACUUM Theory

  • اجرای عملی VACUUM Running VACUUM in practice

  • مانیتورینگ Vacuum Vacuum Monitoring

  • اجرای AUTOVACUUM Running AUTOVACUUM

  • ویژگی‌های ACID در PostgreSQL ACID in PostgreSQL

  • قفل‌ها (Locks) در PostgreSQL Locks in PostgreSQL

رویه‌های ذخیره شده (Stored Procedures) Stored procedures

  • کار با PL pgSQL Working with PL-pgSQL

  • مدیریت محدوده‌ها (Scopes) Managing scopes

  • کار با Cursor Working with Cursor

  • کار با انواع ترکیبی (Composite Types) Working with composite types

  • کار با تریگرها Working with triggers

  • کار با PL Perl Working with PL-Perl

  • کار با SPI Working with SPI

  • کار با PL Python Working with PL-Python

  • کار با PROCEDURE Working with PROCEDURE

  • کار با Drop Procedure Working with Drop Procedure

  • کار با FETCH Working with FETCH

توزیع بار (Load Balance) با HAProxy و PgBouncer Load Balance with HAProxy e PgBouncer

  • ارائه ساختار کلی Setup Presentation

  • تنظیمات HAProxy HAProxy Settings

  • نصب PgBouncer Installing PgBouncer

توزیع بار با HAProxy و Patroni Load Balance with HAProxy and Patroni

  • ارائه سناریوی HA Presentation of the HA scenario

  • پیکربندی‌های اولیه پایگاه داده Initial database configurations

  • پیکربندی سرور etcd Configuring the etcd server

  • نصب haproxy Installing haproxy

  • پیکربندی سرور patroni Configuring the patroni server

  • انجام تست‌های Failover و بازیابی Performing failover and recovery tests

  • راه‌اندازی HA Zabbix Setting up HA Zabbix

دستورات پیشرفته SQL Advanced SQL Commands

  • کار با GROUPING SETS Dealing with GROUPING SETS

  • توابع تجمیعی مجموعه‌های مرتب شده Aggregate functions of ordered sets

  • کار با توابع پنجره‌ای (Window Functions) Working with Window Functions

  • بررسی عبارت‌های توابع پنجره‌ای Studying Windows Functions clauses

  • بررسی توابع lead() و lag() Studying the lead() and lag() functions

  • بررسی توابع _value() و row_number() Studying the _value() and row_number() functions

  • ایجاد تابع شخصی با CREATE AGGREGATE Creating your own function with CREATE AGGREGATE

  • کار با WITH ORDINALITY Working with WITH ORDINALITY

  • استفاده از Common Table Expression (CTE) Using Common Table Expression CTE

  • استفاده از I/O نامتقارن Using Asynchronous I/O

  • کار با محدودیت‌های زمانی (Temporal Constraints) Working with Temporal Constraints

  • استفاده از Just in Time (JIT) Using Just-in-Time

قابلیت HA با Citus ،Patroni و HAProxy HA com Citus Patroni e HAProxy

  • مقدمه‌ای بر Citus Introduction to Citus

  • پیکربندی‌های اولیه پایگاه داده Initial database configurations

  • پیکربندی سرور etcd Configuring the etcd server

  • پیکربندی سرور patroni Configuring the patroni server

  • نصب haproxy Installing haproxy

  • انجام تست‌های اولیه عملکرد Performing basic performance tests

افزونه‌ها (Extensions) Extensions

  • استفاده از ماژول adminpack Using the adminpack module

  • استفاده از ماژول bloom Using the bloom module

  • استفاده از افزونه‌های btree_gist و btree_gin Using the btree_gist and btree_gin extensions

  • جستجوی فایل‌ها با file_fdw Searching for files with file_fdw

  • بررسی ذخیره‌سازی با pageinspect Inspecting storage using pageinspect

  • بررسی کش با pg_buffercache Checking the Cache with pg_buffercache

  • بررسی ذخیره‌سازی با pgstattuple Inspecting storage with pgstattuple

  • ناشناس‌ساز PostgreSQL (Anonymizer) PostgreSQL Anonymizer

  • اتصال به سرور PostgreSQL دیگر با postgres_fdw Accessing another PostgreSQL server with postgres_fdw

  • اتصال به سرور MySQL با mysql_fdw Accessing a MySQL server with mysql_fdw

  • دسترسی به PostgreSQL از طریق LibreOffice Accessing PostgreSQL through LibreOffice

  • استفاده از TimescaleDB Using TimescaleDB

  • محافظت از داده‌ها با pgcrypto Protecting data with pgcrypto

  • مدیریت پارتیشن با pg_partman Partition Manager with pg_partman

  • استفاده از داده‌های برداری با pgvector Using vector data with pgvector

  • سازماندهی مجدد جداول با pg_repack Reorganizing tables in PostgreSQL with pg_repack

  • بازیابی داده‌های حذف شده با pg_dirtyread Recovering Deleted Data with pg_dirtyread

  • استفاده از Crosstab با tablefunc Using Crosstab with tablefunc

مانیتورینگ Monitoring

  • مانیتورینگ PostgreSQL با Zabbix Monitoring PostgreSQL with Zabbix

  • تحلیل لاگ‌ها با pgbadger Log analysis with pgbadger

  • مانیتورینگ با Prometheus و Grafana Monitoring with Prometheus and Grafana

  • مانیتورینگ با Prometheus و Grafana - بخش ۲ Monitoring with Prometheus and Grafana part 2

  • مانیتورینگ امنیت PostgreSQL با Wazuh Monitoring PostgreSQL security with Wazuh

حسابرسی (Audit) Audit

  • پیکربندی Syslog و journald Configure Syslog and journald

  • نصب PG Audit Installing PG-Audit

  • مانیتورینگ با Graylog Monitoring with Graylog

هوش مصنوعی (AI) Artificial Intelligence - AI

  • استفاده از هوش مصنوعی در PostgreSQL با pgai Using Artificial Intelligence in PostgreSQL with pgai

  • استفاده از هوش مصنوعی در PostgreSQL با pgai - بخش ۲ Using Artificial Intelligence in PostgreSQL with pgai part 2

  • استفاده از هوش مصنوعی در PostgreSQL با pgai - بخش ۳ Using Artificial Intelligence in PostgreSQL with pgai part 3

PostGIS PostGIS

  • PostGIS چیست What is PostGIS

  • کار با Buffer Working with Buffer

  • کار با چندضلعی‌ها (Polygons) Working with Polygons

  • کار با Raster در PostGIS Working with Raster in PostGIS

  • نصب QGIS Installing QGIS

  • کار با داده‌های GPS Working with GPS data

  • اندازه‌گیری فواصل با در نظر گرفتن انحنای زمین Measuring distances with the curvature of the Earth

  • تحلیل GIS با Spatial Joins GIS Analysis with Spatial Joins

  • برش هندسه‌ها با ST_Intersection Clipping geometries with ST_Intersection

  • کار با توپولوژی (Topology) Working with Topology

  • کار با k Nearest Neighbor (k NN) Working with k-Nearest Neighbor k-NN

  • محاسبه نزدیک‌ترین همسایگان و تراز فضایی در PostGIS Calculating Nearest Neighbors and Spatial Alignment in PostGIS

  • کار با نمودارهای Voronoi Working with Voronoi Diagrams

  • کار با pgRouting Working with pgRouting

  • استفاده از الگوریتم دایکسترا Using Dijkstras Algorithm

  • استفاده از OpenStreetMap Using OpenStreetMap

  • محاسبه محدوده مسافت رانندگی Calculating the Driving Distance Area

نمایش نظرات

دوره جامع آموزش PostgreSQL! آپدیت ۲۰۲۶!
جزییات دوره
48.5 hours
249
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
632
3.9 از 5
دارد
دارد
دارد
Vitor Mazuco
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vitor Mazuco Vitor Mazuco

آموزش، پشتیبانی و مشاوره IT