INTRODUÇÃO
Nesse artigo vamos
demostrar como instalar o banco de dados Postgresql versão 9.2 e
configurar o servidor de aplicações JBOSS AS 7 para ter acesso a
esse banco de dados.
INSTALAÇÃO DO
POSTGRESQL NO UBUNTU
1 – Fazer o download
do postgresql nesse site:
Nesse site temos o
instalador gráfico que será usado nesse artigo, mas pode-se baixar
o PostgreSQL
nesse site também:
2 – Execute os
seguintes comandos:
// Dando permissão
para o arquivo poder ser executado.
chmod a+x
postgresql-9.2.3-1-linux.run
// Executando o arquivo
de instalação.
sudo
./postgresql-9.2.3-1-linux.run
Depois, será aberto um
instalador gráfico no estilo “wizard” (assistente) que guiará o
processo de instalação do postgresql. Veja nas figuras a seguir
esse processo.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6k4cUALWpUBsXRLqd0qZBJ53-vwoPMGrdS6SelUgJjELOr0MTtx5FTQu_LZ2DSk64uiO2BtEppYwfy5vLZ0n2x1KfK8wtqoEV3EtzJgEkUrth1PwAJhcAFJlkpsIE5SZtbeZ6lAn22qyR/s400/ConfigurandoPostgresql_01.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjiU5g5Wmn4xQZt3PhOPXJpP3i_xbsNaNWlcnon1ryfOpBES7zB8-DU7z3DiuxVw6TflkC7RKVKAbHQzRwKUrTEATuJWixT6-0OExpDB7R6kIu1U1dLeswl2UeQbak6Txjbxt_P9JliR8h/s400/ConfigurandoPostgresql_02.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoOePUZrqK6R685x1K46MDeDurQ9jA14xeHmJTE7FcDBFbAuUyCfXYACAp5Z3Ty8jQC0VqKhBa-IGe36HxuX0dQmsCx6YS9n47BPB1CCGjDsl8W8FQ5PaV_WTVsYIo5THCyHJM4A-k1Gi0/s400/ConfigurandoPostgresql_03.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivwtKKbBVEGHTr2hDnIHOwEA41FDbvaxnYPlT9DSqIXawrdl4zbcmfPrSyiqxfIA71m-exmo_3fR0b9AFRlUS2wIPtioHJWpkLamcNdsBz5R_fajPlqCCmF4JiiInOBd_2m7OmqAMrko_i/s400/ConfigurandoPostgresql_04.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm-NPpUEzGu_3QFrspb_djWDTlcse1izhYUp9HdWJ_PUYcntUqwyDyks5uTmEVpS33ZVt3OBdoOLllDT1a4yLHoH4fN-yodIxB5ZVtR6Qqe-HqYErHRzgAJxSARZ8M0ZMtfxtEfQSItk1-/s400/ConfigurandoPostgresql_05.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgUQcFSEx-FrNnGgOQEdvidyBnHiJ_DFvgY4Fy0RxmhdMO8ifc4at6VI8vuDGk3DidFi_g3nzq-nNgD3zN7QGu3QWD19z61tA07J-gzw0g1ynuFyTEY9GKg958LVYRUq3WXi1re0DoZFgA/s400/ConfigurandoPostgresql_06.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJNYDWJ3J9dZ7jzLAmVI68t4XP9AZOHRAan0wkgPJp-aOGbUNTcRCTD6_Ff9-bbccX9ZS04yrrOqzCgZ0RiA8RXLnmnWp-LHgcPTrj-_fcfDyJLdITAd5xyYdZlb57wQOG2caZK7c5eYL/s400/ConfigurandoPostgresql_07.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq1M1mpVpb0heXmvj7zE7rn07iTmuuItvVwvWwI30S0BQ5d1Xz_G_WNdGxrvMLub7kLJqLJM32QfxHkoiisWA8U43pIC6idTWzxZDyJM73SiDQQVX-V3zAXyMiRslwoXxOqwehTqbdiwi0/s400/ConfigurandoPostgresql_08.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ7sP-ki7EuJg1YufC8NaY5o-hUMB3x9wXVlnue6dXv-83bFLIdVGmTjmHFhXydwcHWUgiA2AyMlqW1bK5id1OS0MksG_lELkkAz4HJVdInDhGp_8wxMKSkxyqcKvgpskz98IC_BlRYf9/s400/ConfigurandoPostgresql_09.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHcEo2Wr4h-D3mMW0Zi3snwlCXM9vuEAClXIDlJzG8ineSiDyVZVifuywsTzSTzIMfyR9y_pNtZa2wfbTlSWfZKTCFLFsEVRAHaV2XDI7huoxcAUDid3kP_JrnHRXugqIRUhji9_fujf_/s400/ConfigurandoPostgresql_10.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS2HRCixEiT5ynjSKoYZnKwzzlfbH8GZJ4nK2sEqcASiQ391O9eA2J-MSA3HbMTt016o4mhxIaFh99-cwxx70oYI0xksWqzCnU-vQLFIIm7C9fKHG5uXCnqRUfN_lXYwY7vtywYYXOkNZR/s400/ConfigurandoPostgresql_11.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxmGwiskOZvOZF0JYAoVRzYCa6AzsPQ9jPkq5vWfki76hkDFiqBjvvkufJum_jHnkiMCJtCwudm7HeJFS9BwjSTJsexcVRele0Q0oCPA_5cYeRWYxqFhC2vDX6grC_j8mH08PSP06NpU-r/s400/ConfigurandoPostgresql_12.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWK34PpVdztlKNAmOqEXxTucQGP_7zstn6f_EemTt9rlMniVm13IO0GM4ynfKPelw8C1EUkh-AELw_jUxUhWKeaRtozFU9MfqvyshmfyG2xJxnfqLobr4zZB44IcZ5wgr9W_hSUqVEtOAr/s400/ConfigurandoPostgresql_13.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6OEaPZuslGmacYub7mPeuC0T3a5STXvcSt68utAuamxQ7oWbsA7AxmRIo3F0wZRWgHJzE-W6ZUMQCwrO1N2zoocKEjk4nM37qKZy217dU6iw5-A-fpLRJezfSQhWbM5blIqZA5-rAMhYS/s400/ConfigurandoPostgresql_14.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiGpo80j6T2FGiNfcVl4rEDio1Zi6Ckdf4s8Y9O5kUj2Pj20KyRsFF6wbS4KiLNHeEIbBDSNaN8creGKsoMXiJmxYBuygwlQSWL2j1hv-izGN2ss7jz0dTHi2kXxvFeQeG5aGFSLHccujn/s400/ConfigurandoPostgresql_15.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBNkb5YZQjvelN9y-39Eq3SueQb7NMKPCCYkgI4pMt10Dly6UL9ChQx91DISjEfg-pK45b4WtqRmphmjTc1YW4v7loFFz9Ks6UfRQvQWxj1bVIWlcSirxGZo00CuTtynJdrvz5mFQEWa_B/s400/ConfigurandoPostgresql_16.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirTZn3HcPmMwccGSf85g16bKfoka7n7YDzqMMPp93wwAzF1gEIX0z4WsEdoytYeMzRGqd0gyEQ0r6_x9AcX7XP7aG3v6xcs6sxuDmR3__L2Gif6KQW05Ml6kMUnFwH8IHISf6vuqF1XEmU/s400/ConfigurandoPostgresql_17.png)
CONFIGURAÇÃO DO
POSTGRESQL
Nessa seção, vamos
criar o banco de dados e algumas tabelas.
Para isso, vamos usar a
ferramenta “pgAdmin III”.
Nas figuras a seguir,
será ilustrado o processo de criação do banco de dados dentro do
Postgresql.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-kYEctaTnav2R6a6V895o60qfkgGNTpXUCbTn8swwzqtMgmP7_2BtCrA9plRp_yTbbW2mdE9he31Rl5DzNwLxCXiB4-XioCxTcoBjCK_NIR3KvY-8ruZ-_wh3wj7uEGhttWZnwdOrvST0/s400/ConfigurandoPostgresql_18.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqid0vs-dvxUXBn7NeZ8KMOoXPsvhCHU6797heabeSF9fnaFYLO6mrSpKZswOPB4jlubTYIIpvY850-f7kmp5BkGQesokuOCy9f3IVIjCSOfHafOxtFoB9yREkDxoRhyphenhyphenYGq2HWyNDgCFvE/s400/ConfigurandoPostgresql_19.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCfaDZE3AqX9amU3UHB4IpiFNcG9ncbcEzef7Fh3uR1QY-ngDHeHAcN97-UcQHZmoeOWzJdz8pfr_axfzmfFs6qwoFYG5bJHQc440o3hyzbQxBWdnudFI-gMmTlTt3RE6LRURs0sVEReNX/s400/ConfigurandoPostgresql_20.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSJGcJOIrpPQ1_RVIpD-bXQS7Gz_Yo6Tmp5yOk1nbOMJipevzeGqjBluBpPTtZNvzpdmI7aMU5QzL_igAWIX-79uVGBF-F2dNbXYesb1gEd3pz2yxraYikAAb1uiPONyNHBV_WyJsWuqnt/s400/ConfigurandoPostgresql_21.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD7MwTyukLY6kKwsDiSlfjXQL2pxBsBaHreR3LSpDuzyLAxZf3gwGtSQyg3xyBqRcxCg-KbtibaOb9N2crdK05VM6qdSC05LwG4E7kM3mSz4CbWltfCmscu2AdNTUEs_suXE0yf6Jg_LFk/s400/ConfigurandoPostgresql_22.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv_6QrXwzrDjluRvN-OHqnl9oVIQ9Z2HHw98dfCJ0w697bZ7Uxp1brVc6FYl_uUCPyPt-vgRZWY4Nqv9qUjPj2Xg2XCJhyphenhyphenTfn1w-_AIKGT42wQAz0TjEEueWd0_elk0bZsWorAm4TqwRE5/s400/ConfigurandoPostgresql_23.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9flFxgMBARsxE9_IPMEGPn-M4Cw_CqevQiA1rJ1uHPpDc6hJCNjImwBCooSJgZTIoJZ9O_tIq_iT1mdCDsgeOcQfVlBZuycDZ7Up257lj4CLp7P_xTBQtM4ssZjPJnOcGudkKLBOygybC/s400/ConfigurandoPostgresql_24.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp2rK3nFZA3EWGGfm33ahlbctfNHHycGfl0IT8GXop62R4yHvyqYpKR9LeYUNniqmCfPEl3DjAGah4I7IElEQJhWJ2WXGI-He3VokMN5BmVCLfSJmlnKF5JpNANDLqo92SyhNfg9lxjooA/s400/ConfigurandoPostgresql_25.png)
CRIAÇÃO DE TABELAS
Vamos criar tabelas
através de uma ferramenta gráfica para criação de script dentro
desse gerenciador gráfico. Para isso, veja nas figuras a seguir.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWSCY4Pp7MrTA-z6KhKAC1nFvDIvf1nKReEHLFIwEUmM0Kl8pccTtoCagYNKTud8xCZU4st3RbDxZsYgv2XK34D_gZ2qQMI7WkWaDVX6xjkC7qtNJvYIZTzbF9fL4eeF3keDdD6kIoy2bK/s400/ConfigurandoPostgresql_26.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwFqJeAecP0a-WtX0CLDQGIWeXguOQyNqOELOl-q8Yi_BSJo9tXlwC2VDw6nD71BcuiLOen__Lgamn0sN0yR-iJANWEyqu0VI6q5UTmY_sc2tqOoJeQFSkMqyDVAB67Obc3NmILpCuSg7J/s400/ConfigurandoPostgresql_27.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJoCQWbKzQDaiVUG5-neT1N05io9SQtk2bdOLFSyODjlCU9b3HhGpUmEJfodO3iw39GTFKpD9qutB56-Emiagi29GyPLpM519qIiuPR2tN27O-JZb_UoTX9ZLUJr2DIGz_lUPPpBG3KY4m/s400/ConfigurandoPostgresql_28.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq34i5k0nxniTJWxniUY3iKAxEvwHV8b3tXcq-xHQqeEclsnVQHziQ19d8euhWUWdQRnnE3r51KB89Bm28o381wWkDHLO6E7UBRBWvtbJfCxzre4q4cV8LXNCmpsObS4_yY33L68z9jNia/s400/ConfigurandoPostgresql_29.png)
SCRIPTS SQL USADOS
NAS FIGURAS
DROP TABLE IF EXISTS
USUARIO;
CREATE TABLE IF NOT
EXISTS USUARIO (
id integer,
roleId integer,
nome varchar(80),
PRIMARY KEY (id)
);
DROP TABLE IF EXISTS
ROLE;
CREATE TABLE IF NOT
EXISTS ROLE (
id integer,
nome varchar(80),
PRIMARY KEY(id)
);
ALTER TABLE USUARIO ADD
FOREIGN KEY (roleId) REFERENCES ROLE(id);
INSERT INTO ROLE (id,
nome) values (1,'ADMIN');
INSERT INTO ROLE (id,
nome) values (2, 'CONVIDADO');
INSERT INTO USUARIO
(id, roleId, nome) values (1, 1, 'ADMINSTRADOR_SISTEMA');
INSERT INTO USUARIO
(id, roleId, nome) values (2, 2, 'CONVIDADO');
INSERT INTO USUARIO
(id, roleId, nome) values (3, 1, 'OUTRO_ADMIN');
Na figura a seguir,
será mostrado o uso do comando select para verificar tabelas
criadas.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHpo4FYS1dFA-bfDMLSjfKLwQFTZchK19b3pcW0PufaljFpfQRVefVkqUcV0L2d-PUt4w8patF-5IU29adndg0QzUZvlqj8dy9eVSQPM-urFdy2s-YdHHLq4GRQ4XbNZjdmeZEDvb2zVhA/s400/ConfigurandoPostgresql_30.png)
CONFIGURAÇÃO NO JBOSS AS 7
Até agora configuramos
o banco de dados PostgreSQL, agora precisamos configurar o servidor
JBOSS AS 7 para usar esse banco de dados. Primeiramente, na
instalação do PostgreSQL, escolhermos instalar uma extensão
adicional que o driver JDBC do PostgreSQL. Esse driver está
localizado dentro do diretório “pgJDBC” dentro do diretório
home do PostgreSQL. Nessa instalação, o PostgreSQL ficou instalado
no diretório “/usr/local/PostgreSQL”. Com esse driver, vamos
criar um módulo dentro do JBoss AS 7 para que o driver fique
disponível para ser usado por todo o servidor.
Crie as pastas:
$JBOSS_HOME/modules/org/postgresql
$JBOSS_HOME/modules/org/postgresql/jdbc
$JBOSS_HOME/modules/org/postgresql/jdbc/main
Copie o driver
(postgresql-9.1.901.jdbc4.jar) para a pasta “main”.
Crie um arquivo chamado
“module.xml” dentro da pasta “main” e com o seguinte conteúdo.
<module xmlns="urn:jboss:module:1.1" name="org.postgresql.jdbc">
<resources>
<resource-root path="postgresql-9.1-901.jdbc4.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Esse arquivo configura
o módulo do JBoss AS 7, nesse arquivo podemos configurar as
dependências entre módulos, exclusões de pacotes, etc. Note que
informamos o jar do driver nesse arquivo e definimos o nome do módulo
(org.postgresql.jdbc) que será usado dentro do arquivo
standalone.xml para configurar o servidor JBoss AS 7 para usar
esse módulo. E também, o nome definido no módulo deve seguir o
caminho do diretório do módulo. Isto é, “org.postgresql.jdbc”
indica módulo dentro da pasta “main” (padrão e obrigatório e
não dá para alterar o nome dessa pasta, senão, o módulo não é
carregado) que por sua vez está dentro da pasta “jdbc” que está
dentro da pasta “postgresql” e que está dentro da pasta “org”.
Ou seja, a nomenclatura dos módulos do JBoss AS 7 é análoga a nomenclatura de pacotes na linguagem Java, sempre associando os nomes
entre pontos (“.”) com diretórios.
Depois disso,
precisamos incluir essa informação “services/java.sql.Driver” no jar,
para isso, execute o seguinte comando.
jar -uf
postgresql-9.1-901.jdbc4.jar META-INF/services/java.sql.Driver
Pronto, o novo módulo
do driver JDBC do PostgreSQL foi criado dentro do JBoss AS 7, só
executar o servidor, se existir erros, o log do servidor reportará.
Altere o arquivo standalone.xml para criar drivers e datasources apartir do driver JDBC do postgresql instalado dentro do JBoss AS 7 na forma de módulos. Altere as seguintes linhas:
<subsystem xmlns="urn:jboss:domain:datasources:1.1">
<datasources>
<datasource jndi-name="java:jboss/postgresDS" pool-name="postgresDS" jta="false" enabled="true" use-java-context="true" use-ccm="false">
<connection-url>jdbc:postgresql://127.0.0.1:5432/mybd</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql-driver</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>50</max-pool-size>
</pool>
<security>
<user-name>postgres</user-name>
<password>postgresql</password>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<background-validation-millis></background-validation-millis>
</validation>
<statement>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
<drivers>
<driver name="postgresql-driver" module="org.postgresql.jdbc">
<xa-datasource-class>org.postgresql.xa.PGXADatasource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
Depois de iniciar o
servidor JBOSS AS 7, entre no console do servidor:
Se não tiver usuário
cadastrado no JBoss AS 7, terá que rodar o script “addUser” que
está dentro da pasta $JBOSS_HOME/bin. Nesse script adicionamos os
usuários com suas respectivas senhas para poder acessar o console do
servidor JBoss.
Nas figuras a seguir,
serão mostrados os passos para entrar no console, acessar
datasources e testá-los.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ2omc9ZpDlWLUnqjRZBeDmzY6Oj_sCgDrUgq9Ffztc4prET48MyLbvQGQNg1a4vSQU1JQkbHOY1IZRs0JWRx2kLgnYN0LCwSUHF7KedKmZ_5GTJ5bKZMiH_djnL2KtKJM3lv_Nxd6r53I/s400/ConfigurandoPostgresql_31.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfTxbhBMOD1zWcAM_fqrszTYtEFjmCtta6VlGebpH4hL-g9-vvDOtoZJ-z5ULo7aavm6L14uXhw424ohxDyin7D6eE_1SrhRdtkF0pNeSCtF8TF4CMxpDy4yYL_Nbza9I5Sso2FRFaYx_K/s400/ConfigurandoPostgresql_32.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_gl7roxW6Oeqa19whgKBLRd3_v_h-sAKky0EAQbhFlB3SRKj5QYxCS-4njMzVngvJL6cUEXQTv84mLSPLDafyk64sulEnAW0YDJu-a1qmJMQDxD9AsJLnuSAKBnvDxcOHMfPeIRPnXSme/s400/ConfigurandoPostgresql_33.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXiHS9m87CQ9V4ClrzGp7SdtZcmw2ZwgWZrg78aQFW1jUYuTPI_UXE1cJU3ODCRIdcj0gxCgIBlVD8YWOAyQgL4-CD90Wa2B5OsBiTSrwUg6V66eTiYoUacdE2igAietLWi7tcDn274RlT/s400/ConfigurandoPostgresql_34.png)
CONCLUSÃO
Nesse artigo mostramos
como configurar o acesso do JBoss AS 7 ao banco de dados PostgreSQL.
Com isso, podemos usar esse datasource para configurações de
segurança, uso em arquivos implantados como EAR, WAR, etc.
REFERÊNCIAS