Pular para o conteúdo principal

Compatibilidade com Postgres

info

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.

important

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:

SQL
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.

    SQL
    SELECT name
    FROM pg_settings
    WHERE context = 'user';
  • Defina um parâmetro para a sessão.

    SQL
    SET maintenance_work_mem='1 GB';
  • Defina um parâmetro para todas as sessões conectadas a um banco de dados

    SQL
    ALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
  • Defina um parâmetro para todas as sessões de um determinado usuário.

    SQL
    ALTER 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.

SQL
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';
nota

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 Postgres superuser. 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.

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):

SQL
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