Documentation
¶
Index ¶
- Constants
- type ACL
- type ACLResource
- type Client
- func (c *Client) ChangePassword(ctx context.Context, userName string, password string) (*RoleModel, error)
- func (c *Client) CreateDatabase(ctx context.Context, dbName string) (*DatabaseModel, error)
- func (c *Client) CreateRole(ctx context.Context, roleName string) error
- func (c *Client) CreateUser(ctx context.Context, login string, password string) (*RoleModel, error)
- func (c *Client) DeleteDatabase(ctx context.Context, dbName string) error
- func (c *Client) DeleteRole(ctx context.Context, roleName string) error
- func (c *Client) GetColumn(ctx context.Context, tableID int64, columnID int64) (*ColumnModel, error)
- func (c *Client) GetDatabase(ctx context.Context, dbID int64) (*DatabaseModel, error)
- func (c *Client) GetDatabaseById(ctx context.Context, dbId string) (*DatabaseModel, error)
- func (c *Client) GetDatabaseByName(ctx context.Context, dbName string) (*DatabaseModel, error)
- func (c *Client) GetFunction(ctx context.Context, functionID int64) (*FunctionModel, error)
- func (c *Client) GetLargeObject(ctx context.Context, largeObjectID int64) (*LargeObjectModel, error)
- func (c *Client) GetProcedure(ctx context.Context, functionID int64) (*ProcedureModel, error)
- func (c *Client) GetRole(ctx context.Context, roleID int64) (*RoleModel, error)
- func (c *Client) GetRoleByName(ctx context.Context, roleName string) (*RoleModel, error)
- func (c *Client) GetSchema(ctx context.Context, schemaID int64) (*SchemaModel, error)
- func (c *Client) GetSequence(ctx context.Context, sequenceID int64) (*SequenceModel, error)
- func (c *Client) GetTable(ctx context.Context, tableID int64) (*TableModel, error)
- func (c *Client) GetView(ctx context.Context, viewID int64) (*ViewModel, error)
- func (c *Client) GrantDatabase(ctx context.Context, dbName string, principalName string, privilege string, ...) error
- func (c *Client) GrantRole(ctx context.Context, roleName string, principalName string) error
- func (c *Client) ListColumns(ctx context.Context, tableID int64, pager *Pager) ([]*ColumnModel, string, error)
- func (c *Client) ListDatabases(ctx context.Context, pager *Pager) ([]*DatabaseModel, string, error)
- func (c *Client) ListFunctions(ctx context.Context, schemaID int64, pager *Pager) ([]*FunctionModel, string, error)
- func (c *Client) ListLargeObjects(ctx context.Context, pager *Pager) ([]*LargeObjectModel, string, error)
- func (c *Client) ListProcedures(ctx context.Context, schemaID int64, pager *Pager) ([]*ProcedureModel, string, error)
- func (c *Client) ListRoleMembers(ctx context.Context, roleID int64, pager *Pager) ([]*RoleModel, string, error)
- func (c *Client) ListRoles(ctx context.Context, pager *Pager) ([]*RoleModel, string, error)
- func (c *Client) ListSchemas(ctx context.Context, pager *Pager) ([]*SchemaModel, string, error)
- func (c *Client) ListSequences(ctx context.Context, schemaID int64, pager *Pager) ([]*SequenceModel, string, error)
- func (c *Client) ListTables(ctx context.Context, schemaName string, pager *Pager) ([]*TableModel, string, error)
- func (c *Client) ListViews(ctx context.Context, schemaID int64, pager *Pager) ([]*ViewModel, string, error)
- func (c *Client) RevokeDatabase(ctx context.Context, dbName string, target string, privilege string, ...) error
- func (c *Client) RevokeRole(ctx context.Context, roleName string, target string, isGrant bool) error
- func (c *Client) RoleHasMembers(ctx context.Context, roleID int64) (bool, error)
- func (c *Client) ValidateConnection(ctx context.Context) error
- type ClientDatabasesPool
- type ClientOpt
- type ColumnModel
- type DatabaseModel
- type FunctionModel
- type LargeObjectModel
- type Logger
- type Pager
- type PrivilegeSet
- type ProcedureModel
- type RoleModel
- type SchemaModel
- type SequenceModel
- type TableModel
- type ViewModel
Constants ¶
View Source
const ( MaxPageSize = 100 MinPageSize = 10 )
View Source
const EmptyPrivilegeSet = PrivilegeSet(0)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACL ¶
type ACL struct {
// contains filtered or unexported fields
}
func NewACLFromPrivilegeSets ¶
func NewACLFromPrivilegeSets(privs PrivilegeSet, privsWithGrant PrivilegeSet) *ACL
func (*ACL) GrantPrivileges ¶
func (a *ACL) GrantPrivileges() PrivilegeSet
func (*ACL) Privileges ¶
func (a *ACL) Privileges() PrivilegeSet
type ACLResource ¶
type ACLResource interface {
GetOwnerID() int64
GetACLs() []string
AllPrivileges() PrivilegeSet
DefaultPrivileges() PrivilegeSet
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) ChangePassword ¶ added in v0.1.3
func (*Client) CreateDatabase ¶ added in v0.1.3
func (*Client) CreateRole ¶ added in v0.1.3
func (*Client) CreateUser ¶ added in v0.1.3
func (*Client) DeleteDatabase ¶ added in v0.1.3
func (*Client) DeleteRole ¶ added in v0.1.3
func (*Client) GetDatabase ¶
func (*Client) GetDatabaseById ¶ added in v0.2.1
func (*Client) GetDatabaseByName ¶ added in v0.1.3
func (*Client) GetFunction ¶
func (*Client) GetLargeObject ¶
func (*Client) GetProcedure ¶
func (*Client) GetRoleByName ¶
func (*Client) GetSequence ¶
func (*Client) GrantDatabase ¶ added in v0.1.3
func (*Client) ListColumns ¶
func (*Client) ListDatabases ¶
func (*Client) ListFunctions ¶
func (*Client) ListLargeObjects ¶
func (*Client) ListProcedures ¶
func (*Client) ListRoleMembers ¶
func (*Client) ListSchemas ¶
func (*Client) ListSequences ¶
func (*Client) ListTables ¶
func (*Client) RevokeDatabase ¶ added in v0.1.3
func (*Client) RevokeRole ¶ added in v0.1.3
func (*Client) RoleHasMembers ¶
type ClientDatabasesPool ¶ added in v0.2.1
type ClientDatabasesPool struct {
// contains filtered or unexported fields
}
func NewClientDatabasesPool ¶ added in v0.2.1
func (*ClientDatabasesPool) Default ¶ added in v0.2.1
func (p *ClientDatabasesPool) Default(ctx context.Context) *Client
func (*ClientDatabasesPool) DefaultDatabase ¶ added in v0.2.1
func (c *ClientDatabasesPool) DefaultDatabase(ctx context.Context) string
type ColumnModel ¶
type ColumnModel struct {
ID int64 `db:"attnum"`
Name string `db:"attname"`
TableName string `db:"tablename"`
OwnerID int64 `db:"relowner"`
ACLs []string `db:"attacl"`
}
func (*ColumnModel) AllPrivileges ¶
func (t *ColumnModel) AllPrivileges() PrivilegeSet
func (*ColumnModel) DefaultPrivileges ¶
func (t *ColumnModel) DefaultPrivileges() PrivilegeSet
func (*ColumnModel) GetACLs ¶
func (t *ColumnModel) GetACLs() []string
func (*ColumnModel) GetOwnerID ¶
func (t *ColumnModel) GetOwnerID() int64
type DatabaseModel ¶
type DatabaseModel struct {
ID int64 `db:"oid"`
Name string `db:"datname"`
OwnerID int64 `db:"datdba"`
ACLs []string `db:"datacl"`
}
func (*DatabaseModel) AllPrivileges ¶
func (t *DatabaseModel) AllPrivileges() PrivilegeSet
func (*DatabaseModel) DefaultPrivileges ¶
func (t *DatabaseModel) DefaultPrivileges() PrivilegeSet
func (*DatabaseModel) GetACLs ¶
func (t *DatabaseModel) GetACLs() []string
func (*DatabaseModel) GetOwnerID ¶
func (t *DatabaseModel) GetOwnerID() int64
type FunctionModel ¶
type FunctionModel struct {
ID int64 `db:"oid"`
Name string `db:"proname"`
Schema string `db:"nspname"`
OwnerID int64 `db:"proowner"`
ACLs []string `db:"proacl"`
}
func (*FunctionModel) AllPrivileges ¶
func (t *FunctionModel) AllPrivileges() PrivilegeSet
func (*FunctionModel) DefaultPrivileges ¶
func (t *FunctionModel) DefaultPrivileges() PrivilegeSet
func (*FunctionModel) GetACLs ¶
func (t *FunctionModel) GetACLs() []string
func (*FunctionModel) GetOwnerID ¶
func (t *FunctionModel) GetOwnerID() int64
type LargeObjectModel ¶
type LargeObjectModel struct {
ID int64 `db:"oid"`
OwnerID int64 `db:"lomowner"`
ACLs []string `db:"lomacl"`
}
func (*LargeObjectModel) AllPrivileges ¶
func (t *LargeObjectModel) AllPrivileges() PrivilegeSet
func (*LargeObjectModel) DefaultPrivileges ¶
func (t *LargeObjectModel) DefaultPrivileges() PrivilegeSet
func (*LargeObjectModel) GetACLs ¶
func (t *LargeObjectModel) GetACLs() []string
func (*LargeObjectModel) GetOwnerID ¶
func (t *LargeObjectModel) GetOwnerID() int64
type Logger ¶ added in v0.1.3
type Logger struct{}
func (*Logger) Pgx2ZapLogLevel ¶ added in v0.1.3
type PrivilegeSet ¶
type PrivilegeSet uint64
const ( Insert PrivilegeSet = 1 << iota Select Update Delete Truncate References Trigger Execute Usage Create Temporary Connect Set AlterSystem Terminator )
func PrivilegeSetFromRune ¶
func PrivilegeSetFromRune(s rune) PrivilegeSet
func (PrivilegeSet) Has ¶
func (ps PrivilegeSet) Has(priv PrivilegeSet) bool
func (PrivilegeSet) Name ¶
func (ps PrivilegeSet) Name() string
func (PrivilegeSet) Range ¶
func (a PrivilegeSet) Range(f func(p PrivilegeSet) (bool, error)) error
func (PrivilegeSet) Set ¶
func (ps PrivilegeSet) Set(priv PrivilegeSet) PrivilegeSet
func (PrivilegeSet) String ¶
func (ps PrivilegeSet) String() string
type ProcedureModel ¶
type ProcedureModel struct {
ID int64 `db:"oid"`
Name string `db:"proname"`
Schema string `db:"nspname"`
OwnerID int64 `db:"proowner"`
ACLs []string `db:"proacl"`
}
func (*ProcedureModel) AllPrivileges ¶
func (t *ProcedureModel) AllPrivileges() PrivilegeSet
func (*ProcedureModel) DefaultPrivileges ¶
func (t *ProcedureModel) DefaultPrivileges() PrivilegeSet
func (*ProcedureModel) GetACLs ¶
func (t *ProcedureModel) GetACLs() []string
func (*ProcedureModel) GetOwnerID ¶
func (t *ProcedureModel) GetOwnerID() int64
type RoleModel ¶
type RoleModel struct {
ID int64 `db:"oid"`
Name string `db:"rolname"`
Superuser bool `db:"rolsuper"`
Inherit bool `db:"rolinherit"`
CreateRole bool `db:"rolcreaterole"`
CreateDb bool `db:"rolcreatedb"`
CanLogin bool `db:"rolcanlogin"`
Replication bool `db:"rolreplication"`
ConnectionLimit int `db:"rolconnlimit"`
BypassRowSecurity bool `db:"rolbypassrls"`
RoleAdmin *bool `db:"admin_option"`
MemberOf []int64 `db:"member_of"`
}
func (*RoleModel) IsRoleAdmin ¶
type SchemaModel ¶
type SchemaModel struct {
ID int64 `db:"oid"`
Name string `db:"nspname"`
OwnerID int64 `db:"nspowner"`
ACLs []string `db:"nspacl"`
}
func (*SchemaModel) AllPrivileges ¶
func (t *SchemaModel) AllPrivileges() PrivilegeSet
func (*SchemaModel) DefaultPrivileges ¶
func (t *SchemaModel) DefaultPrivileges() PrivilegeSet
func (*SchemaModel) GetACLs ¶
func (t *SchemaModel) GetACLs() []string
func (*SchemaModel) GetOwnerID ¶
func (t *SchemaModel) GetOwnerID() int64
type SequenceModel ¶
type SequenceModel struct {
ID int64 `db:"oid"`
Name string `db:"relname"`
Schema string `db:"nspname"`
OwnerID int64 `db:"relowner"`
ACLs []string `db:"relacl"`
}
func (*SequenceModel) AllPrivileges ¶
func (t *SequenceModel) AllPrivileges() PrivilegeSet
func (*SequenceModel) DefaultPrivileges ¶
func (t *SequenceModel) DefaultPrivileges() PrivilegeSet
func (*SequenceModel) GetACLs ¶
func (t *SequenceModel) GetACLs() []string
func (*SequenceModel) GetOwnerID ¶
func (t *SequenceModel) GetOwnerID() int64
type TableModel ¶
type TableModel struct {
ID int64 `db:"oid"`
Name string `db:"relname"`
Schema string `db:"nspname"`
OwnerID int64 `db:"relowner"`
ACLs []string `db:"relacl"`
}
func (*TableModel) AllPrivileges ¶
func (t *TableModel) AllPrivileges() PrivilegeSet
func (*TableModel) DefaultPrivileges ¶
func (t *TableModel) DefaultPrivileges() PrivilegeSet
func (*TableModel) GetACLs ¶
func (t *TableModel) GetACLs() []string
func (*TableModel) GetOwnerID ¶
func (t *TableModel) GetOwnerID() int64
type ViewModel ¶
type ViewModel struct {
ID int64 `db:"oid"`
Name string `db:"relname"`
Schema string `db:"nspname"`
OwnerID int64 `db:"relowner"`
ACLs []string `db:"relacl"`
}
func (*ViewModel) AllPrivileges ¶
func (t *ViewModel) AllPrivileges() PrivilegeSet
func (*ViewModel) DefaultPrivileges ¶
func (t *ViewModel) DefaultPrivileges() PrivilegeSet
func (*ViewModel) GetOwnerID ¶
Click to show internal directories.
Click to hide internal directories.