AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 1883
Accepted
Jonas
Jonas
Asked: 2011-03-25 05:58:29 +0800 CST2011-03-25 05:58:29 +0800 CST 2011-03-25 05:58:29 +0800 CST

Como instalo o pgcrypto no PostgreSQL 8.4?

  • 772

Estou usando o Ubuntu Server 10.10 e instalei o PostgreSQL 8.4 usando o apt-get install postgresql. Eu gostaria de usar a sha1()função interna, mas parece que tenho que instalar pgcryptoprimeiro. Mas não sei como instalar.

Não há pgcryptose eu tentar instalá-lo usando apt-get install pgcryptoe não encontrar nenhum arquivo começando com pgcryptono meu sistema (tentei find / -name "pgcrypto*").

Como instalo o pgcrypto para poder usar a digest('word-to-hash','sha1')função em minhas consultas ao banco de dados?


Atualização: estou lutando para instalar o pgcrypto em outra máquina Ubuntu. Depois de instalar o pacote usando sudo apt-get install postgresql-contrib-8.4como faço para instalá-lo no meu banco de dados PostgreSQL atual?

postgresql installation
  • 3 3 respostas
  • 57035 Views

3 respostas

  • Voted
  1. Dustin Kirkland
    2012-03-31T09:51:49+08:002012-03-31T09:51:49+08:00

    PostgreSQL 9.1+

    Observe que estou trabalhando no Ubuntu 12.04, que usa o postgresql 9.1.

    Lá, eu precisava:

    sudo apt-get install postgresql-contrib
    

    E então no meu banco de dados:

    postgres@ztrustee:~$ psql test
    psql (9.1.3)
    Type "help" for help.
    test=# CREATE EXTENSION pgcrypto;
    CREATE EXTENSION
    

    E agora posso usar a funcionalidade pgcrypto, gen_random_bytes():

    test=# create table test ( 
      id 
        text 
        not null 
        default encode( gen_random_bytes( 32 ), 'hex' ) 
        primary key, 
      value 
        text 
    ); 
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
    CREATE TABLE
    test=# \d test
                                Table "public.test"
     Column | Type |                         Modifiers                          
    --------+------+------------------------------------------------------------
     id     | text | not null default encode(gen_random_bytes(32), 'hex'::text)
     value  | text | 
    Indexes:
        "test_pkey" PRIMARY KEY, btree (id)
    
    test=# insert into test (value) VALUES ('scoobydoo');
    INSERT 0 1
    test=# select * from test;
                                    id                                |   value   
    ------------------------------------------------------------------+-----------
     76dd5bd0120d3df797f932fbcb4f8aa5088e215ee2b920dddbff59c8595fbac7 | scoobydoo
    
    • 20
  2. Best Answer
    DrColossos
    2011-03-25T06:35:53+08:002011-03-25T06:35:53+08:00

    Para a versão mais recente do PG, confira a resposta abaixo por Dustin Kirkland

    É um módulo externo para o Postgres. Você deve instalar o postgresql-contrib-8.4pacote (ou sua versão pg) via apt:

    apt-get install postgresql-contrib-8.4
    

    Em seguida, você encontra o arquivo de instalação do sql em algum lugar da /usr/share/postgresqlpasta e precisará executar pgcryto.sqlno banco de dados.

    psql -d <database> -f /usr/share/postgresql/8.4/contrib/pgcrypto.sql
    

    Ou,

    $ cd /usr/share/postgresql/8.4/contrib
    $ psql -d <database>
        psql (8.4.8)
        Type "help" for help.
    
        database=# \i pgcrypto.sql
    
    • 18
  3. Veeresh Digasangi
    2019-02-14T01:46:21+08:002019-02-14T01:46:21+08:00

    Para a versão mais recente, não há fim de caminho de arquivo com pgcrypto.sql .

    Crie uma extensão pgcrypto sob o usuário necessário.

    $ psql -U <username> -d mydb
    
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
    Type "help" for help.
    
    mydb=> CREATE EXTENSION pgcrypto;
    
    CREATE EXTENSION
    mydb=> 
    

    Se, no caso, o usuário não tiver permissão para criar uma extensão, dê permissão ao superusuário fazendo login como usuário postgres(default) e tente novamente.

    $ psql --u postgres
    
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
    Type "help" for help.
    
    postgres=# ALTER USER <username> WITH SUPERUSER;
    
    ALTER ROLE
    
    • 2

relate perguntas

  • Posso ativar o PITR depois que o banco de dados foi usado

  • Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo

  • Os procedimentos armazenados impedem a injeção de SQL?

  • Sequências Biológicas do UniProt no PostgreSQL

  • Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve