Documentation ¶
Index ¶
- Constants
- func CloseAllSavedPoolsForName(name string) error
- func CloseDatabaseSavedPoolsForName(name, database string) error
- func TemplatePostgresqlURL(host, user, password, database string, port int) string
- func TemplatePostgresqlURLWithArgs(host, user, password, uriArgs, database string, port int) string
- type PG
- type SetRoleOnDatabaseRoleSetting
Constants ¶
View Source
const ( CreateDBWithoutOwnerSQLTemplate = `CREATE DATABASE "%s"` AlterDBOwnerSQLTemplate = `ALTER DATABASE "%s" OWNER TO "%s"` )
View Source
const ( CascadeKeyword = "CASCADE" RestrictKeyword = "RESTRICT" CreateDBSQLTemplate = `CREATE DATABASE "%s" WITH OWNER = "%s"` ChangeDBOwnerSQLTemplate = `ALTER DATABASE "%s" OWNER TO "%s"` IsDatabaseExistSQLTemplate = `SELECT 1 FROM pg_database WHERE datname='%s'` RenameDatabaseSQLTemplate = `ALTER DATABASE "%s" RENAME TO "%s"` CreateSchemaSQLTemplate = `CREATE SCHEMA IF NOT EXISTS "%s" AUTHORIZATION "%s"` CreateExtensionSQLTemplate = `CREATE EXTENSION IF NOT EXISTS "%s"` DropDatabaseSQLTemplate = `DROP DATABASE "%s"` DropExtensionSQLTemplate = `DROP EXTENSION IF EXISTS "%s" %s` DropSchemaSQLTemplate = `DROP SCHEMA IF EXISTS "%s" %s` GrantUsageSchemaSQLTemplate = `GRANT USAGE ON SCHEMA "%s" TO "%s"` GrantAllTablesSQLTemplate = `GRANT %s ON ALL TABLES IN SCHEMA "%s" TO "%s"` DefaultPrivsSchemaSQLTemplate = `ALTER DEFAULT PRIVILEGES FOR ROLE "%s" IN SCHEMA "%s" GRANT %s ON TABLES TO "%s"` GetTablesFromSchemaSQLTemplate = `SELECT table_name FROM information_schema.tables WHERE table_schema = '%s'` ChangeTableOwnerSQLTemplate = `ALTER TABLE IF EXISTS "%s" OWNER TO "%s"` DuplicateDatabaseErrorCode = "42P04" )
View Source
const ( CreateGroupRoleSQLTemplate = `CREATE ROLE "%s"` CreateUserRoleSQLTemplate = `CREATE ROLE "%s" WITH LOGIN PASSWORD '%s'` GrantRoleSQLTemplate = `GRANT "%s" TO "%s"` GrantRoleWithAdminOptionSQLTemplate = `GRANT "%s" TO "%s" WITH ADMIN OPTION` AlterUserSetRoleSQLTemplate = `ALTER USER "%s" SET ROLE "%s"` AlterUserSetRoleOnDatabaseSQLTemplate = `ALTER ROLE "%s" IN DATABASE "%s" SET ROLE "%s"` RevokeUserSetRoleOnDatabaseSQLTemplate = `ALTER ROLE "%s" IN DATABASE "%s" RESET role` RevokeRoleSQLTemplate = `REVOKE "%s" FROM "%s"` UpdatePasswordSQLTemplate = `ALTER ROLE "%s" WITH PASSWORD '%s'` // #nosec DropRoleSQLTemplate = `DROP ROLE "%s"` DropOwnedBySQLTemplate = `DROP OWNED BY "%s"` ReassignObjectsSQLTemplate = `REASSIGN OWNED BY "%s" TO "%s"` IsRoleExistSQLTemplate = `SELECT 1 FROM pg_roles WHERE rolname='%s'` RenameRoleSQLTemplate = `ALTER ROLE "%s" RENAME TO "%s"` // Source: https://dba.stackexchange.com/questions/136858/postgresql-display-role-members GetRoleMembershipSQLTemplate = `` /* 187-byte string literal not displayed */ // DO NOT TOUCH THIS // Cannot filter on compute value so... cf line before. GetRoleSettingsSQLTemplate = `` //nolint:lll//Because /* 370-byte string literal not displayed */ DoesRoleHaveActiveSessionSQLTemplate = `SELECT 1 from pg_stat_activity WHERE usename = '%s' group by usename` DuplicateRoleErrorCode = "42710" RoleNotFoundErrorCode = "42704" InvalidGrantOperationErrorCode = "0LP01" )
View Source
const MaxIdentifierLength = 63
View Source
const MinUserSplit = 1
Variables ¶
This section is empty.
Functions ¶
func TemplatePostgresqlURL ¶
Types ¶
type PG ¶
type PG interface { CreateDB(dbname, username string) error ChangeDBOwner(dbname, owner string) error IsDatabaseExist(dbname string) (bool, error) RenameDatabase(oldname, newname string) error CreateSchema(db, role, schema string) error CreateExtension(db, extension string) error CreateGroupRole(role string) error CreateUserRole(role, password string) (string, error) IsRoleExist(role string) (bool, error) RenameRole(oldname, newname string) error UpdatePassword(role, password string) error GrantRole(role, grantee string, withAdminOption bool) error SetSchemaPrivileges(db, creator, role, schema, privs string) error RevokeRole(role, userRole string) error AlterDefaultLoginRole(role, setRole string) error AlterDefaultLoginRoleOnDatabase(role, setRole, database string) error RevokeUserSetRoleOnDatabase(role, database string) error DoesRoleHaveActiveSession(role string) (bool, error) DropDatabase(db string) error DropRoleAndDropAndChangeOwnedBy(role, newOwner, database string) error ChangeAndDropOwnedBy(role, newOwner, database string) error GetSetRoleOnDatabasesRoleSettings(role string) ([]*SetRoleOnDatabaseRoleSetting, error) DropRole(role string) error DropSchema(database, schema string, cascade bool) error DropExtension(database, extension string, cascade bool) error GetRoleMembership(role string) ([]string, error) GetTablesInSchema(db, schema string) ([]string, error) ChangeTableOwner(db, table, owner string) error GetUser() string GetHost() string GetPort() int GetDefaultDatabase() string GetArgs() string Ping() error }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.