mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Extracted from a larger patch by Dimitri Fontaine. It is hoped that this will provide infrastructure for enriching the new event trigger functionality, but it seems possibly useful for other purposes as well.
62 lines
1.7 KiB
C
62 lines
1.7 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* tablespace.h
|
|
* Tablespace management commands (create/drop tablespace).
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/commands/tablespace.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef TABLESPACE_H
|
|
#define TABLESPACE_H
|
|
|
|
#include "access/xlog.h"
|
|
#include "nodes/parsenodes.h"
|
|
|
|
/* XLOG stuff */
|
|
#define XLOG_TBLSPC_CREATE 0x00
|
|
#define XLOG_TBLSPC_DROP 0x10
|
|
|
|
typedef struct xl_tblspc_create_rec
|
|
{
|
|
Oid ts_id;
|
|
char ts_path[1]; /* VARIABLE LENGTH STRING */
|
|
} xl_tblspc_create_rec;
|
|
|
|
typedef struct xl_tblspc_drop_rec
|
|
{
|
|
Oid ts_id;
|
|
} xl_tblspc_drop_rec;
|
|
|
|
typedef struct TableSpaceOpts
|
|
{
|
|
int32 vl_len_; /* varlena header (do not touch directly!) */
|
|
float8 random_page_cost;
|
|
float8 seq_page_cost;
|
|
} TableSpaceOpts;
|
|
|
|
extern void CreateTableSpace(CreateTableSpaceStmt *stmt);
|
|
extern void DropTableSpace(DropTableSpaceStmt *stmt);
|
|
extern Oid RenameTableSpace(const char *oldname, const char *newname);
|
|
extern void AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt);
|
|
|
|
extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo);
|
|
|
|
extern Oid GetDefaultTablespace(char relpersistence);
|
|
|
|
extern void PrepareTempTablespaces(void);
|
|
|
|
extern Oid get_tablespace_oid(const char *tablespacename, bool missing_ok);
|
|
extern char *get_tablespace_name(Oid spc_oid);
|
|
|
|
extern bool directory_is_empty(const char *path);
|
|
|
|
extern void tblspc_redo(XLogRecPtr lsn, XLogRecord *rptr);
|
|
extern void tblspc_desc(StringInfo buf, uint8 xl_info, char *rec);
|
|
|
|
#endif /* TABLESPACE_H */
|