Compatibilidade com Postgres
Visualização
Este recurso está em pré-visualização pública nas seguintes regiões: us-east-1
, us-east-2
, us-west-21
, eu-west-2
, ap-southeast-1
, ap-southeast-2
, eu-central-1
, ap-south-1
.
Esta página descreve como uma instância de banco de dados Lakebase é compatível com o Postgres. Como um serviço de gerenciar Postgres, há algumas diferenças e limitações de funcionalidade.
As instâncias de banco de dados do Databricks são compatíveis apenas com o Postgres 16.
Otimize as consultas
A extensão pg_stat_statements
fornece informações detalhadas sobre o desempenho da consulta para ajudar a identificar consultas lentas e otimizá-las.
Os usuários podem ver os textos de consulta de suas consultas e quaisquer funções das quais herdam privilégios. Se você tem o privilégio ADMIN
em uma função e não consegue ver os textos de consulta dessa função, conceda a si mesmo a participação nessa função. Se você não tiver privilégios em uma função, não poderá ver seus textos de consulta por motivos de segurança.
Configurações de parâmetros do Postgres
Como um serviço de gerenciar Postgres, os parâmetros do banco de dados são definidos com base no tamanho da instância. Veja todas as configurações de parâmetros usando:
SHOW ALL;
Você pode configurar parâmetros que tenham um contexto user
no nível da sessão, do banco de dados ou da função. Você não pode configurar parâmetros no nível da instância.
-
Mostrar parâmetros que podem ser definidos no nível da sessão, do banco de dados ou da função.
SQLSELECT name
FROM pg_settings
WHERE context = 'user'; -
Defina um parâmetro para a sessão.
SQLSET maintenance_work_mem='1 GB';
-
Defina um parâmetro para todas as sessões conectadas a um banco de dados
SQLALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
-
Defina um parâmetro para todas as sessões de um determinado usuário.
SQLALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
Codificação e agrupamento suportados
Em default, é usado o agrupamento C.UTF-8. C.UTF-8 suporta toda a gama de caracteres codificados em UTF-8.
A codificação UTF8 (Unicode, codificação de largura variável de 8 bits) é suportada.
Para view a codificação e o agrupamento do seu banco de dados, execute a seguinte consulta.
SELECT
pg_database.datname AS database_name,
pg_encoding_to_char(pg_database.encoding) AS encoding,
pg_database.datcollate AS collation,
pg_database.datctype AS ctype
FROM
pg_database
WHERE
pg_database.datname = 'your_database_name';
No Postgres, você não pode alterar a codificação ou o agrupamento de um banco de dados após sua criação.
Limitações de funcionalidade
Funções e permissões
- Você não pode acessar o sistema operacional do host.
- Você não pode se conectar usando o Postgres
superuser
.- Qualquer funcionalidade que exija privilégios
superuser
ou acesso direto ao sistema de arquivos local não é permitida. - O
databricks_superuser
substitui o papel do Postgressuperuser
. Para obter informações sobre os privilégios associados a essa função, consulte Tipos de funções e permissões do banco de dados.
- Qualquer funcionalidade que exija privilégios
Replicação
Não há suporte para a criação de slots de replicação, inscrições ou publicações.
Gatilhos de eventos
Os gatilhos de eventos do Postgres não são suportados.
Cancelamento da consulta do cliente
O protocolo de cancelamento do Postgres não pode ser usado para cancelar consultas em andamento.
Em vez disso, crie uma nova conexão e execute pg_cancel_backend(pid):
SELECT pg_cancel_backend(pid)
FROM pg_stat_activity
WHERE pid <> pg_backend_pid() AND
query = '{The query you want to cancel}';
Extensões suportadas
Extensão | Versão |
---|---|
endereço_padronizador | 3.3.3 |
endereço_standardizer_data_us | 3.3.3 |
autônico | 1 |
flor | 1 |
btree_gin | 1.3 |
btree_gist | 1.7 |
citexto | 1,6 |
cubo | 1.5 |
dict_int | 1 |
distância terrestre | 1.1 |
fuzzystr match | 1.2 |
inferno | 2,18 |
hstore | 1,8 |
insert_username | 1 |
intagg | 1.1 |
na matriz | 1.5 |
não | 1.2 |
lo | 1.1 |
ltree | 1.2 |
moddatetime | 1 |
pg_graphql | 1.5.9 |
esquema pg_json | 0.3.3 |
pg_prewarm | 1.2 |
pg_stat_statements | 1.1 |
pg_trgm | 1,6 |
pgcrypto | 1.3 |
pgroutando | 3.4.2 |
pgrowlocks | 1.2 |
plpgsql | 1 |
postgis | 3.3.3 |
postgis_raster | 3.3.3 |
postgis_sfcgal | 3.3.3 |
geocodificador postgis_tiger | 3.3.3 |
topologia_postgis | 3.3.3 |
refinar | 1 |
seg | 1.4 |
tablefunc | 1 |
tcn | 1 |
tsm_system_rows | 1 |
tsm_system_time | 1 |
sem sotaque | 1.1 |
uuid-ossp | 1.1 |
vetor | 0,8.0 |
xml2 | 1.1 |