Posts Tagged ‘cliente’

Instalação do PostgreSQL

Postado em 09 nov 2009
Categoria(s) PostgreSQL

Instalação

Para instalar o PostgreSQL no Ubuntu digite o comando:

sudo apt-get install postgresql-common postgresql-8.3 postgresql-client-8.3

Mudando a senha do usuário postgres

sudo su postgres psql

No console do psql

ALTER USER postgres WITH PASSWORD 'postgres';
\q

Configurando o postgresql.conf

sudo vi /etc/postgresql/8.3/main/postgresql.conf

Localizar a linha:

listen_addresses = 'localhost'

e mudar para:

listen_addresses = '*'

remova o carácter de comentário (#) da linha.

A opção listen_addresses permite definir qual host pode se conectar no servidor, exemplo: localhost somente para conexões locais, * para qualquer host ou um ip específico como: 192.168.1.236.

Configurando pg_hba.conf

sudo vi /etc/postgresql/8.3/main/pg_hba.conf

Adicionar no fim do arquivo a linha:

host all all 192.168.1.0/24 md5

Essa configuração específica na ordem:

  • host: Define regras para o protocolo TCP/IP, essa opção pode ser host, local ou hostssl;
  • all: Define qual banco de dados que essa regra se aplica, se definindo all será para todos;
  • all: Define qual usuário tem permissão para usar essa regra, se definido all será para todos;
  • 192.168.1.0/24: Padrão CIDR, define qual faixa de ip’s podem ser conectar no servidor através do padrão CIDR;
  • md5: Método de autenticação, md5 padrão, trust para aceitar, reject para negar e mais algumas outras opções.

Reiniciar o PostgreSQL

sudo /etc/init.d/postgresql-8.3 restart

Usuários de banco de dados

Criar um novo usuário. Para pode criar um novo usuário é necessário estar logado com o usuário postgres.

sudo su postgres

Existem duas formas de criar e deletar um usuário, uma através do shell e outra através do cliente postgre.

Via Shell

createuser patrick

Via cliente postgres

psql
CREATE USER patrick;

As duas opções criam patrick como superusuário.

Exemplos:

Definindo password

CREATE USER patrick PASSWORD '123';

Definindo privilégios de superusuário, permissão para criar databases e roles:

CREATE USER patrick SUPERUSER INHERIT CREATEDB CREATEROLE;

Mais informações: http://pgdocptbr.sourceforge.net/pg80/sql-createuser.html.

Deletar usuário

Via Shell:

dropuser patrick

Via cliente postgres:

psql
DROP USER patrick;

Alterar usuário:

ALTER USER patrick PASSWORD ‘teste123′;

Mais detalhes: http://pgdocptbr.sourceforge.net/pg80/sql-alteruser.html.

  • Share/Bookmark

Ruby usando DRb (Distributed Ruby)

Postado em 18 jun 2009
Categoria(s) Ruby

DRb permite programas em Ruby se comunicar uns com os outros na mesma máquina ou através de uma rede, aplicação cliente/servidor. DRb utiliza o método de invocação remota (RMI) para transmitir comandos e dados entre os processos.

Nesse post vamos criar dois programas, o servidor e o cliente usando DRb.

Construíndo o servidor (server.rb):

1
2
3
4
5
6
7
8
9
10
11
require 'drb'
 
class Server
  def hello
    "Hello, This is a Distributed Ruby (DRb) Example"
  end
end
 
server_object = Server.new
DRb.start_service('druby://localhost:9000', server_object)
DRb.thread.join

Entendendo o código do servidor:

require 'drb'

A linha acima apenas requere a biblioteca DRb, essa biblioteca que a responsável por fazer a comunicação remota. Você pode encontrar mais informações a seu respeito em: http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html.

class Server
  def hello
    "Hello, This is a Distributed Ruby (DRb) Example"
  end
end

O código acima apena cria uma classe e o método hello, que imprime uma mensagem.

server_object = Server.new
DRb.start_service('druby://localhost:9000', server_object)
DRb.thread.join

Essas três linhas acima que fazem o servidor funcionar, a primeira linha apenas faz a instância da classe Server, a segunda linha inicia o serviço remoto no endereço druby://localhost:9000 disponibilizando o objeto server_object, a terceira linha inicia uma thread no servidor para aceitar requisições remotas.

Construíndo o cliente (client.rb):

1
2
3
4
5
6
require 'drb'
 
DRb.start_service
obj = DRbObject.new(nil, 'druby://localhost:9000')
 
puts obj.hello

Entendendo o código do cliente:

require 'drb'

A linha acima apenas requere a biblioteca DRb, essa biblioteca que a responsável por fazer a comunicação remota. Você pode encontrar mais informações a seu respeito em: http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html.

DRb.start_service
obj = DRbObject.new(nil, 'druby://localhost:9000')

As suas linhas acima inicia o serviço remoto com o servidor, a primeira inicializa o serviço e a segunda estabelece conexão com o servidor no endereço druby://localhost:9000 obtendo o objeto Server.

puts obj.hello

Essa linha acima invoca o método hello do objeto remoto Server.

Rodando o servidor:

Para inicializar o servidor digite na linha de comando:

ruby server.rb

Não será exibida nenhuma mensagem, o servidor apenas ficará esperando novas requisições remotas.

Rodando o cliente:

ruby client.rb

Quando você rodar o cliente terá como retorno a mensagem:

Hello, This is a Distributed Ruby (DRb) Example

Pronto! Esse recurso é muito interessante. ;-)

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark