1 /*-------------------------------------------------------------------------
2  *
3  * dbcommands.h
4  *		Database management commands (create/drop database).
5  *
6  *
7  * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/commands/dbcommands.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef DBCOMMANDS_H
15 #define DBCOMMANDS_H
16 
17 #include "access/xlogreader.h"
18 #include "catalog/objectaddress.h"
19 #include "lib/stringinfo.h"
20 #include "parser/parse_node.h"
21 
22 extern Oid	createdb(ParseState *pstate, const CreatedbStmt *stmt);
23 extern void dropdb(const char *dbname, bool missing_ok, bool force);
24 extern void DropDatabase(ParseState *pstate, DropdbStmt *stmt);
25 extern ObjectAddress RenameDatabase(const char *oldname, const char *newname);
26 extern Oid	AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel);
27 extern Oid	AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
28 extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
29 
30 extern Oid	get_database_oid(const char *dbname, bool missing_ok);
31 extern char *get_database_name(Oid dbid);
32 
33 extern void check_encoding_locale_matches(int encoding, const char *collate, const char *ctype);
34 
35 #endif							/* DBCOMMANDS_H */
36