Gerenciar funções do Postgres
Beta
O Lakebase Postgres (beta com escalonamento automático) é a próxima versão do Lakebase, disponível apenas para avaliação. Para cargas de trabalho de produção, utilize a versão de pré-visualização pública do Lakebase. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.
Ao criar um projeto de banco de dados, o Lakebase cria várias funções do Postgres no projeto:
- Uma função do Postgres para a identidade do proprietário do projeto Databricks (por exemplo, user@databricks.com), que possui o banco de dados defaultdatabricks_postgres
- Uma função administrativa databricks_superuser
O banco de dados databricks_postgres é criado para que você possa se conectar e experimentar o Lakebase imediatamente após a criação do projeto.
Diversas funções de gerenciamento de sistema também são criadas. Estas são funções internas utilizadas pelo serviço Databricks para gerenciamento, monitoramento e operações de dados.
Saiba mais: Funções pré-criadas e Funções do sistema
Criar funções do Postgres
O Lakebase suporta dois tipos de funções do Postgres para acesso ao banco de dados:
- Funções de senha nativas do Postgres: Crie-as usando a interface do usuário do Lakebase ou SQL. Utilize qualquer nome de função válido com autenticação por senha.
- Funções OAuth para identidades Databricks: Crie-as usando a extensão databricks_authe SQL. Permite que outras identidades do Databricks se conectem usando tokens OAuth.
Saiba mais sobre métodos de autenticação: Autenticação
Crie uma função de senha nativa do Postgres
Você pode criar funções de senha nativas do Postgres usando a interface do usuário do Lakebase ou o comando SQL padrão.
Utilizando a interface do usuário:
- No aplicativo Lakebase, navegue até a página de visão geral da sua filial e, em seguida, até a tab Funções e Bancos de Dados da filial.
- Clique em Adicionar função e especifique um nome para a função (qualquer nome de função válido do Postgres).

- Clique em Criar .
- Copie a senha gerada e forneça-a em local seguro ao usuário que utilizará essa função.
A interface do usuário do Lakebase gera automaticamente uma senha segura com entropia de 60 bits. As funções criadas através da interface do usuário recebem automaticamente a associação à função databricks_superuser , que fornece amplos privilégios de banco de dados.
Utilizando SQL:
Você também pode criar funções de senha nativas do Postgres usando o comando SQL padrão do Postgres:
CREATE ROLE role_name WITH LOGIN PASSWORD 'your_secure_password';
Ao criar funções com SQL, a senha deve ter pelo menos 12 caracteres, com uma combinação de letras minúsculas, maiúsculas, números e símbolos. As senhas definidas pelo usuário são validadas no momento da criação para garantir entropia de 60 bits.
Crie uma função OAuth para uma identidade do Databricks usando SQL.
Para permitir que outras identidades Databricks (usuários, entidades de serviço ou grupos) se conectem usando tokens OAuth , você deve criar suas funções do Postgres usando a extensão databricks_auth .
Pré-requisitos:
- Você deve ter permissões CREATEeCREATE ROLEno banco de dados.
- Você precisa estar autenticado como uma identidade Databricks com um token OAuth válido.
- Sessões autenticadas nativas do Postgres não podem criar funções OAuth.
Para criar uma função OAuth:
- 
Crie a extensão databricks_auth. Cada banco de dados Postgres deve ter sua própria extensão.SQLCREATE EXTENSION IF NOT EXISTS databricks_auth;
- 
Use a função databricks_create_rolepara criar uma função do Postgres para a identidade do Databricks:SQLSELECT databricks_create_role('identity_name', 'identity_type');Para um usuário do Databricks: SQLSELECT databricks_create_role('myuser@databricks.com', 'USER');Para uma entidade de serviço Databricks: SQLSELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');
- 
Conceda permissões de banco de dados à função recém-criada. 
A função databricks_create_role() cria uma função do Postgres com permissão LOGIN apenas. Após criar a função, você deve conceder os privilégios e permissões de banco de dados apropriados nos bancos de dados, esquemas ou tabelas específicos que o usuário precisa acessar. Aprenda como: gerenciar permissões
Os nomes dos cargos não podem exceder 63 caracteres, e alguns nomes não são permitidos. Saiba mais: funções gerenciais
visualizar funções do Postgres
- UI
- PostgreSQL
Para view todas as funções do Postgres em seu projeto, navegue até tab Funções e Bancos de Dados do seu branch no aplicativo Lakebase. Todas as funções criadas na ramificação, com exceção das funções do sistema, estão listadas, incluindo as funções nativas do Postgres com autenticação por senha.

Veja todas as funções com o comando \du :
Você pode view todas as funções do Postgres, incluindo as funções do sistema, usando o meta-comando \du de qualquer cliente Postgres (como psql) ou do editor SQL do Lakebase:
\du
                                      List of roles
          Role name          |                         Attributes
-----------------------------+------------------------------------------------------------
 cloud_admin                 | Superuser, Create role, Create DB, Replication, Bypass RLS
 my.user@databricks.com      | Create role, Create DB, Bypass RLS
 databricks_control_plane    | Superuser
 databricks_gateway          |
 databricks_monitor          |
 databricks_reader_12345     | Create role, Create DB, Replication, Bypass RLS
 databricks_replicator       | Replication
 databricks_superuser        | Create role, Create DB, Cannot login, Bypass RLS
 databricks_writer_12345     | Create role, Create DB, Replication, Bypass RLS
Esta seção exibe todas as funções e seus atributos (Superusuário, Criar função, Criar banco de dados, etc.).
Remover uma função do Postgres
Você pode remover tanto as funções baseadas em identidade do Databricks quanto as funções nativas de senha do Postgres.
- UI
- PostgreSQL
Excluir uma função é uma ação permanente que não pode ser desfeita. Não é possível excluir uma função que seja proprietária de um banco de dados. O banco de dados deve ser excluído antes de excluir a função proprietária do banco de dados.
Para excluir qualquer função do Postgres usando a interface do usuário:
- Acesse a tab "Funções e Bancos de Dados" da sua filial no aplicativo Lakebase.
- Selecione "Excluir função" no menu de funções e confirme a exclusão.
Você pode remover qualquer função do Postgres usando o comando padrão do Postgres. Para obter detalhes, consulte a documentação do PostgreSQL sobre como remover funções (rolling roles).
Abandone uma vaga:
DROP ROLE role_name;
Após a remoção de uma função baseada em identidade do Databricks, essa identidade não poderá mais autenticar-se no Postgres usando tokens OAuth até que uma nova função seja criada.
Funções pré-criadas
Após a criação de um projeto de banco de dados, Databricks cria automaticamente funções do Postgres para administração do projeto e para que os usuários possam começar a usá-las.
| Função | Descrição | Privilégios herdados | 
|---|---|---|
| 
 | A identidade Databricks do criador do projeto (por exemplo,  | Membro de  | 
| 
 | Uma função administrativa interna. Utilizado para configurar e gerenciar o acesso em todo o projeto. Este cargo confere amplos privilégios. | Herda de  | 
Saiba mais sobre as capacidades e privilégios específicos dessas funções: Capacidades de funções pré-criadas
Funções do sistema criadas pelo Databricks
Databricks cria as seguintes funções de sistema necessárias para o serviço interno. Você pode view essas funções emitindo um comando \du a partir de psql ou do Editor SQL do Lakebase.
| Função | Propósito | 
|---|---|
| 
 | Função de superusuário usada para gerenciamento de infraestrutura cloud . | 
| 
 | Função de superusuário usada por componentes internos do Databricks para operações de gerenciamento. | 
| 
 | Utilizado pelo serviço de coleta de medições internas | 
| 
 | Utilizado para operações de replicação de banco de dados | 
| 
 | Função por banco de dados usada para criar e gerenciar tabelas sincronizadas. | 
| 
 | Função por banco de dados usada para ler tabelas registradas no Unity Catalog | 
| 
 | Utilizado para conexões internas para gerenciamento de serviço de atendimento de dados | 
Para aprender como funcionam os papéis, privilégios e associações de papéis no Postgres, utilize o seguinte recurso na documentação do Postgres:
Próximos passos
- Gerenciar permissões - Conceder permissões de banco de dados para funções do Postgres
- Conecte-se ao seu projeto de banco de dados - Conecte-se usando tokens OAuth ou senhas do Postgres.
- Autenticação - Entenda como funcionam os tokens OAuth e as senhas do Postgres.