PostgreSQL Source Code git master
user.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * user.h
4 * Commands for manipulating roles (formerly called users).
5 *
6 *
7 * src/include/commands/user.h
8 *
9 *-------------------------------------------------------------------------
10 */
11#ifndef USER_H
12#define USER_H
13
15#include "libpq/crypt.h"
16#include "nodes/parsenodes.h"
17#include "parser/parse_node.h"
18#include "utils/guc.h"
19
20/* GUCs */
21extern PGDLLIMPORT int Password_encryption; /* values from enum PasswordType */
23
24/* Hook to check passwords in CreateRole() and AlterRole() */
25typedef void (*check_password_hook_type) (const char *username, const char *shadow_pass, PasswordType password_type, Datum validuntil_time, bool validuntil_null);
26
28
30extern Oid AlterRole(ParseState *pstate, AlterRoleStmt *stmt);
32extern void DropRole(DropRoleStmt *stmt);
33extern void GrantRole(ParseState *pstate, GrantRoleStmt *stmt);
34extern ObjectAddress RenameRole(const char *oldname, const char *newname);
37extern List *roleSpecsToIds(List *memberNames);
38
39extern bool check_createrole_self_grant(char **newval, void **extra,
41extern void assign_createrole_self_grant(const char *newval, void *extra);
42
43#endif /* USER_H */
#define PGDLLIMPORT
Definition: c.h:1291
PasswordType
Definition: crypt.h:41
#define newval
GucSource
Definition: guc.h:112
#define stmt
Definition: indent_codes.h:59
static char * username
Definition: initdb.c:153
static rewind_source * source
Definition: pg_rewind.c:89
uintptr_t Datum
Definition: postgres.h:69
unsigned int Oid
Definition: postgres_ext.h:30
Definition: pg_list.h:54
ObjectAddress RenameRole(const char *oldname, const char *newname)
Definition: user.c:1334
PGDLLIMPORT int Password_encryption
Definition: user.c:86
void ReassignOwnedObjects(ReassignOwnedStmt *stmt)
Definition: user.c:1611
Oid AlterRole(ParseState *pstate, AlterRoleStmt *stmt)
Definition: user.c:619
Oid AlterRoleSet(AlterRoleSetStmt *stmt)
Definition: user.c:1000
PGDLLIMPORT check_password_hook_type check_password_hook
Definition: user.c:92
bool check_createrole_self_grant(char **newval, void **extra, GucSource source)
Definition: user.c:2528
void assign_createrole_self_grant(const char *newval, void *extra)
Definition: user.c:2581
void(* check_password_hook_type)(const char *username, const char *shadow_pass, PasswordType password_type, Datum validuntil_time, bool validuntil_null)
Definition: user.h:25
void DropRole(DropRoleStmt *stmt)
Definition: user.c:1090
Oid CreateRole(ParseState *pstate, CreateRoleStmt *stmt)
Definition: user.c:133
PGDLLIMPORT char * createrole_self_grant
Definition: user.c:87
void GrantRole(ParseState *pstate, GrantRoleStmt *stmt)
Definition: user.c:1480
List * roleSpecsToIds(List *memberNames)
Definition: user.c:1652
void DropOwnedObjects(DropOwnedStmt *stmt)
Definition: user.c:1583