Check data directory not used by an active instance before cloning

This involves adding some infrastructure to parse pg_control in a
reasonably version-independent fashion. This will probably be useful
in other contexts where we need to verify the status of a
data directory where the instance isn't running.
This commit is contained in:
Ian Barwick
2017-05-12 08:46:49 +09:00
parent d6b36e13d8
commit 4c5f065ef2
5 changed files with 165 additions and 3 deletions

27
controldata.h Normal file
View File

@@ -0,0 +1,27 @@
/*
* controldata.h
* Copyright (c) 2ndQuadrant, 2010-2017
*
* Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*/
#ifndef _CONTROLDATA_H_
#define _CONTROLDATA_H_
#include "postgres_fe.h"
#include "catalog/pg_control.h"
typedef struct
{
bool control_file_processed;
ControlFileData *control_file;
} ControlFileInfo;
extern DBState
get_db_state(char *data_directory);
extern const char *
describe_db_state(DBState state);
#endif /* _CONTROLDATA_H_ */