亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

postgresql容器化邏輯備份實現

2023-05-25 09:08:23
67
0
數據庫備份方式根據產生文件類型分為物理備份和邏輯備份。
    所謂邏輯備份,即邏輯導出數據,生成sql文件或其他格式文件。這里邏輯備份指的存量備份。
    postgresql進行邏輯備份,一般使用自帶的客戶端工具,pg_dump 、pg_dumpall。這兩個工具可以可以遠程或本地導出邏輯數據,區別是pg_dumpall 是對整個數據庫集群進行備份,pg_dump 可以選擇一個數據庫或者部分表進行備份。
    Zalando Postgres Operator集成了pg數據庫邏輯備份功能,通過指定備份鏡像,可以輕松實現單次邏輯備份及周期備份,內部實現實際采用pg_dumpall實現。
    pg_dumpall 可以導出所有數據庫,邏輯備份中并不會阻塞其他用戶對數據庫的DML操作,但由于備份過程需要對進行備份的對象加ACCESS SHARE鎖,該鎖與DDL操作沖突,避免備份過程中數據結構改變, 或者數據被物理的刪除掉了。 所以生產環境一般不建議在主庫上執行pg_dumpall。
    使用Postgres Operator實現pg邏輯備份步驟如下:
   1、operator中進行與邏輯備份相關的配置:
configLogicalBackup:
  # image for pods of the logical backup job (example runs pg_dumpall)
  logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1"

  # prefix for the backup job name
  logical_backup_job_prefix: "logical-backup-"
  # storage provider - either "s3" or "gcs"
  logical_backup_provider: "s3"
  # S3 Access Key ID
  logical_backup_s3_access_key_id: ""
  # S3 bucket to store backup results
  logical_backup_s3_bucket: "my-bucket-url"
  # S3 region of bucket
  logical_backup_s3_region: ""
  # S3 endpoint url when not using AWS
  logical_backup_s3_endpoint: ""
  # S3 Secret Access Key
  logical_backup_s3_secret_access_key: ""
  # S3 server side encryption
  logical_backup_s3_sse: "AES256"
  # S3 retention time for stored backups for example "2 week" or "7 days"     S3中備份保留時間,為空將一直保留
  logical_backup_s3_retention_time: ""
  # backup schedule in the cron format
  logical_backup_schedule: "30 00 * * *"

   

      注意上述logical_backup_s3_sse為指定 S3 存儲使用的服務器端加密。 如果指定了空字符串,則不會將任何參數傳遞給 aws s3 命令。 默認值:“AES256”。
      該配置需要根據S3實際情況填寫,如果服務端未設置加密,那么該選項設置空,否則采用默認值可能如下報錯:
aws s3 cp - s3://postgres/spilo/zy-test-cluster/72226680-fbf8-4e67-a518-7ec0d634f2bc/logical_backups/1653299060.sql.gz --expected-size=5398894 --endpoint-url=//minio.minio.svc:80 --sse=AES256
      upload failed: - to s3://postgres/spilo/zy-test-cluster/72226680-fbf8-4e67-a518-7ec0d634f2bc/logical_backups/1653299060.sql.gz An error occurred (NotImplemented) when calling the PutObject operation: Server side encryption specified but KMS is not configured
      2、postgresql實例CR中開啟如下相關配置:
enableLogicalBackup: true
logicalBackupSchedule: "30 00 * * *"
        備注:以上配置,默認yaml中是注釋的,即實例默認不開啟邏輯備份。如需進行邏輯備份,創建實例時,需要去掉注釋,并設置正確的備份周期。
     3、進入minio 容器內查看備份:
[root@caas-cluster-test-2-0009 logical_backups]# ll
total 0
drwxr-xr-x 2 10000 10000 21 May 26 10:40 1653532810.sql.gz
drwxr-xr-x 2 10000 10000 21 May 26 10:50 1653533411.sql.gz
[root@caas-cluster-test-2-0009 logical_backups]# pwd
/opt/minio/pvc-2f9fd6b8-b604-4933-88ba-d0974c4e1be5_minio_2-minio-test-pg-0/postgres/spilo/zy-test-cluster/d91dbc9c-b63c-481d-8062-8bf1d042569a/logical_backups
        當備份數據不超過1MB時,備份數據將和minio元數據合并,寫入xl.meta文件;
        如果超過1MB,則生成獨立文件;
 
 
 
0條評論
0 / 1000
z****n
5文章數
0粉絲數
z****n
5 文章 | 0 粉絲
原創

postgresql容器化邏輯備份實現

2023-05-25 09:08:23
67
0
數據庫備份方式根據產生文件類型分為物理備份和邏輯備份。
    所謂邏輯備份,即邏輯導出數據,生成sql文件或其他格式文件。這里邏輯備份指的存量備份。
    postgresql進行邏輯備份,一般使用自帶的客戶端工具,pg_dump 、pg_dumpall。這兩個工具可以可以遠程或本地導出邏輯數據,區別是pg_dumpall 是對整個數據庫集群進行備份,pg_dump 可以選擇一個數據庫或者部分表進行備份。
    Zalando Postgres Operator集成了pg數據庫邏輯備份功能,通過指定備份鏡像,可以輕松實現單次邏輯備份及周期備份,內部實現實際采用pg_dumpall實現。
    pg_dumpall 可以導出所有數據庫,邏輯備份中并不會阻塞其他用戶對數據庫的DML操作,但由于備份過程需要對進行備份的對象加ACCESS SHARE鎖,該鎖與DDL操作沖突,避免備份過程中數據結構改變, 或者數據被物理的刪除掉了。 所以生產環境一般不建議在主庫上執行pg_dumpall。
    使用Postgres Operator實現pg邏輯備份步驟如下:
   1、operator中進行與邏輯備份相關的配置:
configLogicalBackup:
  # image for pods of the logical backup job (example runs pg_dumpall)
  logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1"

  # prefix for the backup job name
  logical_backup_job_prefix: "logical-backup-"
  # storage provider - either "s3" or "gcs"
  logical_backup_provider: "s3"
  # S3 Access Key ID
  logical_backup_s3_access_key_id: ""
  # S3 bucket to store backup results
  logical_backup_s3_bucket: "my-bucket-url"
  # S3 region of bucket
  logical_backup_s3_region: ""
  # S3 endpoint url when not using AWS
  logical_backup_s3_endpoint: ""
  # S3 Secret Access Key
  logical_backup_s3_secret_access_key: ""
  # S3 server side encryption
  logical_backup_s3_sse: "AES256"
  # S3 retention time for stored backups for example "2 week" or "7 days"     S3中備份保留時間,為空將一直保留
  logical_backup_s3_retention_time: ""
  # backup schedule in the cron format
  logical_backup_schedule: "30 00 * * *"

   

      注意上述logical_backup_s3_sse為指定 S3 存儲使用的服務器端加密。 如果指定了空字符串,則不會將任何參數傳遞給 aws s3 命令。 默認值:“AES256”。
      該配置需要根據S3實際情況填寫,如果服務端未設置加密,那么該選項設置空,否則采用默認值可能如下報錯:
aws s3 cp - s3://postgres/spilo/zy-test-cluster/72226680-fbf8-4e67-a518-7ec0d634f2bc/logical_backups/1653299060.sql.gz --expected-size=5398894 --endpoint-url=//minio.minio.svc:80 --sse=AES256
      upload failed: - to s3://postgres/spilo/zy-test-cluster/72226680-fbf8-4e67-a518-7ec0d634f2bc/logical_backups/1653299060.sql.gz An error occurred (NotImplemented) when calling the PutObject operation: Server side encryption specified but KMS is not configured
      2、postgresql實例CR中開啟如下相關配置:
enableLogicalBackup: true
logicalBackupSchedule: "30 00 * * *"
        備注:以上配置,默認yaml中是注釋的,即實例默認不開啟邏輯備份。如需進行邏輯備份,創建實例時,需要去掉注釋,并設置正確的備份周期。
     3、進入minio 容器內查看備份:
[root@caas-cluster-test-2-0009 logical_backups]# ll
total 0
drwxr-xr-x 2 10000 10000 21 May 26 10:40 1653532810.sql.gz
drwxr-xr-x 2 10000 10000 21 May 26 10:50 1653533411.sql.gz
[root@caas-cluster-test-2-0009 logical_backups]# pwd
/opt/minio/pvc-2f9fd6b8-b604-4933-88ba-d0974c4e1be5_minio_2-minio-test-pg-0/postgres/spilo/zy-test-cluster/d91dbc9c-b63c-481d-8062-8bf1d042569a/logical_backups
        當備份數據不超過1MB時,備份數據將和minio元數據合并,寫入xl.meta文件;
        如果超過1MB,則生成獨立文件;
 
 
 
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0