# 3rd-party-casbin-pg-adapter **Repository Path**: mirrors_casbin/mirrors_casbin_3rd-party-casbin-pg-adapter ## Basic Information - **Project Name**: 3rd-party-casbin-pg-adapter - **Description**: PostgreSQL adapter for Casbin - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-01 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Casbin Postgres Adapter Casbin Postgres Adapter is the postgres adapter for [Casbin](Casbin) ## Installation ```sh $ go get github.com/casbin/casbin-pg-adapter ``` ## Example ```go package main import ( "database/sql" "os" "github.com/casbin/casbin/v2" "github.com/casbin/casbin-pg-adapter" ) func main() { connectionString := "postgresql://postgres:@localhost:5432/postgres?sslmode=disable" db, err := sql.Open("postgres", os.Getenv("DATABASE_URL")) if err != nil { panic(err) } tableName := "casbin" adapter, err := casbinpgadapter.NewAdapter(db, tableName) // If you are using db schema // myDBSchema := "mySchema" // adapter, err := casbinpgadapter.NewAdapterWithDBSchema(db, myDBSchema, tableName) if err != nil { panic(err) } enforcer, err := casbin.NewEnforcer("./examples/model.conf", adapter) if err != nil { panic(err) } // Load stored policy from database enforcer.LoadPolicy() // Do permission checking enforcer.Enforce("alice", "data1", "write") // Do some mutations enforcer.AddPolicy("alice", "data2", "write") enforcer.RemovePolicy("alice", "data1", "write") // Persist policy to database enforcer.SavePolicy() } ```