wal-g

Форк
0
/
wal_receive.go 
38 строк · 1.1 Кб
1
package pg
2

3
import (
4
	"github.com/spf13/cobra"
5
	"github.com/wal-g/tracelog"
6
	"github.com/wal-g/wal-g/internal"
7
	"github.com/wal-g/wal-g/internal/asm"
8
	"github.com/wal-g/wal-g/internal/databases/postgres"
9
)
10

11
const walReceiveShortDescription = "Receive WAL stream with postgres Streaming Replication Protocol and push to storage"
12

13
// walReceiveCmd represents the walReceive command
14
var walReceiveCmd = &cobra.Command{
15
	Use:   "wal-receive",
16
	Short: walReceiveShortDescription,
17
	Args:  cobra.ExactArgs(0),
18
	Run: func(cmd *cobra.Command, args []string) {
19
		baseUploader, err := internal.ConfigureUploader()
20
		tracelog.ErrorLogger.FatalOnError(err)
21

22
		uploader, err := postgres.ConfigureWalUploader(baseUploader)
23
		tracelog.ErrorLogger.FatalOnError(err)
24

25
		archiveStatusManager, err := internal.ConfigureArchiveStatusManager()
26
		if err == nil {
27
			uploader.ArchiveStatusManager = asm.NewDataFolderASM(archiveStatusManager)
28
		} else {
29
			tracelog.ErrorLogger.PrintError(err)
30
			uploader.ArchiveStatusManager = asm.NewNopASM()
31
		}
32
		postgres.HandleWALReceive(cmd.Context(), uploader)
33
	},
34
}
35

36
func init() {
37
	Cmd.AddCommand(walReceiveCmd)
38
}
39

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.