[root@localhost ~]# su - postgres Last login: Thu Dec 25 04:31:05 EST 2014 on pts/0 -bash-4.2$ pg_dumpall > backup.sql -bash-4.2$ exit logout [root@localhost ~]# wget http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm --2014-12-25 04:33:01-- http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm Resolving yum.postgresql.org (yum.postgresql.org)... 174.143.35.196, 2001:4800:1501:1::196 Connecting to yum.postgresql.org (yum.postgresql.org)|174.143.35.196|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5328 (5.2K) [application/x-redhat-package-manager] Saving to: ‘pgdg-centos94-9.4-1.noarch.rpm’ 100%[==============================================>] 5,328 --.-K/s in 0.002s 2014-12-25 04:33:08 (2.46 MB/s) - ‘pgdg-centos94-9.4-1.noarch.rpm’ saved [5328/5328] [root@localhost ~]# rpm -ivh pgdg-centos94-9.4-1.noarch.rpm Preparing... ################################# [100%] Updating / installing... 1:pgdg-centos94-9.4-1 ################################# [100%] [root@localhost ~]# systemctl stop postgresql-9.3 [root@localhost ~]# yum -y install postgresql94 postgresql94-devel postgresql94-contrib postgresql94-libs postgresql94-test postgresql94-server postgresql94-docs Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 pgdg93 | 3.6 kB 00:00:00 pgdg94 | 3.6 kB 00:00:00 updates | 3.4 kB 00:00:00 Loading mirror speeds from cached hostfile * base: mirror.powerhost.cl * extras: centos.ufms.br * updates: centos.ufms.br Resolving Dependencies --> Running transaction check ---> Package postgresql94.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel7 will be installed ---> Package postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel7 will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================================== Package Arch Version Repository Size ==================================================================================== Installing: postgresql94 x86_64 9.4.0-1PGDG.rhel7 pgdg94 1.0 M postgresql94-contrib x86_64 9.4.0-1PGDG.rhel7 pgdg94 601 k postgresql94-devel x86_64 9.4.0-1PGDG.rhel7 pgdg94 1.6 M postgresql94-docs x86_64 9.4.0-1PGDG.rhel7 pgdg94 13 M postgresql94-libs x86_64 9.4.0-1PGDG.rhel7 pgdg94 201 k postgresql94-server x86_64 9.4.0-1PGDG.rhel7 pgdg94 3.8 M postgresql94-test x86_64 9.4.0-1PGDG.rhel7 pgdg94 1.3 M Transaction Summary ========================================================================================== Install 7 Packages Total download size: 22 M Installed size: 72 M Downloading packages: (1/7): postgresql94-contrib-9.4.0-1PGDG.rhel7.x86_64.rpm | 601 kB 00:00:02 (2/7): postgresql94-devel-9.4.0-1PGDG.rhel7.x86_64.rpm | 1.6 MB 00:00:01 (3/7): postgresql94-9.4.0-1PGDG.rhel7.x86_64.rpm | 1.0 MB 00:00:17 (4/7): postgresql94-docs-9.4.0-1PGDG.rhel7.x86_64.rpm | 13 MB 00:00:13 (5/7): postgresql94-libs-9.4.0-1PGDG.rhel7.x86_64.rpm | 201 kB 00:00:00 (6/7): postgresql94-server-9.4.0-1PGDG.rhel7.x86_64.rpm | 3.8 MB 00:00:04 (7/7): postgresql94-test-9.4.0-1PGDG.rhel7.x86_64.rpm | 1.3 MB 00:00:05 --------------------------------------------------------------------------------------- Total 933 kB/s | 22 MB 00:00:23 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : postgresql94-libs-9.4.0-1PGDG.rhel7.x86_64 1/7 Installing : postgresql94-9.4.0-1PGDG.rhel7.x86_64 2/7 Installing : postgresql94-devel-9.4.0-1PGDG.rhel7.x86_64 3/7 Installing : postgresql94-server-9.4.0-1PGDG.rhel7.x86_64 4/7 Installing : postgresql94-test-9.4.0-1PGDG.rhel7.x86_64 5/7 Installing : postgresql94-contrib-9.4.0-1PGDG.rhel7.x86_64 6/7 Installing : postgresql94-docs-9.4.0-1PGDG.rhel7.x86_64 7/7 Verifying : postgresql94-contrib-9.4.0-1PGDG.rhel7.x86_64 1/7 Verifying : postgresql94-test-9.4.0-1PGDG.rhel7.x86_64 2/7 Verifying : postgresql94-9.4.0-1PGDG.rhel7.x86_64 3/7 Verifying : postgresql94-devel-9.4.0-1PGDG.rhel7.x86_64 4/7 Verifying : postgresql94-docs-9.4.0-1PGDG.rhel7.x86_64 5/7 Verifying : postgresql94-server-9.4.0-1PGDG.rhel7.x86_64 6/7 Verifying : postgresql94-libs-9.4.0-1PGDG.rhel7.x86_64 7/7 Installed: postgresql94.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel7 postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel7 Complete! [root@localhost ~]# /usr/pgsql-9.4/bin/postgresql94-setup initdb Initializing database ... OK [root@localhost ~]# systemctl enable postgresql-9.4 ln -s '/usr/lib/systemd/system/postgresql-9.4.service' '/etc/systemd/system/multi-user.target.wants/postgresql-9.4.service' [root@localhost ~]# systemctl disable postgresql-9.3 rm '/etc/systemd/system/multi-user.target.wants/postgresql-9.3.service' [root@localhost ~]# systemctl start postgresql-9.4 [root@localhost ~]# su - postgres Last login: Thu Dec 25 04:31:31 EST 2014 on pts/0 -bash-4.2$ psql psql (9.4.0) Type "help" for help. postgres=# \q -bash-4.2$ psql < backup.sql SET SET SET ERROR: role "postgres" already exists ALTER ROLE REVOKE REVOKE GRANT GRANT You are now connected to database "postgres" as user "postgres". SET SET SET SET SET SET SET COMMENT CREATE EXTENSION COMMENT REVOKE REVOKE GRANT GRANT You are now connected to database "template1" as user "postgres". SET SET SET SET SET SET SET COMMENT CREATE EXTENSION COMMENT REVOKE REVOKE GRANT GRANT -bash-4.2$
SELECT * FROM Busca_de_Conhecimento WHERE Tema LIKE '% Banco de Dados %' or Tema LIKE '% Assuntos relacionados%'
terça-feira, 10 de fevereiro de 2015
Upgrade de PostgreSQL 9.3 para 9.4 (em CentOS 7)
Como instalar PostgreSQL 9.4 no CentOS e sistemas derivados
Para instalar o programa no CentOS 6.4, 6.5 e 7, e ainda poder receber automaticamente as futuras atualizações dele, você deve fazer o seguinte:
Passo 1. Abra um terminal;
Passo 2. Confira se o seu sistema é de 32 bits ou 64 bits, para isso, use o seguinte comando no terminal:
Passo 2. Confira se o seu sistema é de 32 bits ou 64 bits, para isso, use o seguinte comando no terminal:
uname -m
Passo 3. Se seu sistema é um CentOS 6.x de 32 bits, use o comando abaixo para adicionar o repositório do PostgreSQL 9.4:
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-i386/pgdg-centos94-9.4-1.noarch.rpm
Passo 4. Se seu sistema é um CentOS 6.x de 64 bits, use o comando abaixo para adicionar o repositório do PostgreSQL 9.4:
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
Passo 5. Se seu sistema é um CentOS 7 de 64 bits, use o comando abaixo para adicionar o repositório do PostgreSQL 9.4:
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
Passo 6. Atualize o gerenciador de pacotes com o comando:
yum update
Passo 7. Agora use o comando abaixo para instalar o programa;
yum install postgresql94-server postgresql94-contrib
Pronto! Agora, se o banco não for inicializado na instalação, reinicie o sistema e quando quiser, verifique a versão do PostgreSQL usando o seguinte comando em um terminal:
psql --version
CRIANDO USUÁRIOS NO POSTGRESQL
Os usuários de banco de dados são, de forma conceitual, completamente separados de qualquer usuário comum de sistema operacional.
Na prática isto pode ser conveniente para manter a correspondência, mas não é exigido. Para criar um usuário, utilize o comandocreateuser.
Iremos utilizar o shell do Linux para criar usuário, você deve estar como root.
Parâmetros essenciais para utilizar o createuser:
- -a = Permite criar novos usuários;
- -A = Proíbe criar novos usuários;
- -d = Permite criar novas bases de dados;
- -D = Proíbe criar novas bases de dados;
- -E = Encripta Senha do usuário;
- -P = Solicita senha do novo usuário.
Criando um usuário normal:
# createuser -A -D -E -P usuário
Criando usuário admin:
# createuser -a -d -E -P usuário
Definindo a senha do usuário:
# passwd usuário
FAZENDO BACKUP DE UM SERVIDOR INTEIRO
Imagine que precisemos reinstalar o sistema operacional de nosso servidor de banco de dados, que roda o SGBD PostgreSQL 8.3. Bom, precisamos fazer um backup de nossos dados e saber como restaurar depois, né?!
Para isso podemos usar ferramentas fornecidas pelo Postgre. Diferente de alguns outros SGBD, o backup no Postgre não é feito via linguagem de consulta (SQL), mas sim via aplicações. O PostgreSQL disponibiliza alguns programas (comandos) para que possam ser efetuados backups.
Também é possível trabalhar com algum frontend (o pgAdmin por exemplo), mas como geralmente servidores Linux não possuem interface gráfica, é bom sempre ver como fazer tudo sem o mouse e só naquela telinha preta.
A ferramenta oferecida para fazer um dump de um servidor em um arquivo plain (sql) é o pg_dumpall. Este comando é capaz de fazer o backup de todos os dados de um determinado servidor. Exemplo:
# pg_dumpall -h localhost -p 5432 -U postgres -v -f "/backup/dbserver.sql"
Este comando fará o backup do servidor localhost (argumento -h), na porta 5432 (argumento -p), com o usuário postgres (argumento -U), no modo interativo (verbose - argumento -v), e salvará o backup no arquivo /backup/dbserver.sql (argumento -f).
Após a formatação do nosso servidor e reinstalação do sistema operacional, podemos facilmente restaurar o backup com a ferramenta psql, antes é necessário acessar o terminal com o usuário postgres:
# su postgres
$ psql -f /backup/dbserver.sql
FAZENDO BACKUP COM POSTGRESQL
O PostgreSQL oferece boas ferramentas para backup. Nesta dica vou explicar o funcionamento do pg_dump, a ferramenta mais usada para fazer backup no PostgreSQL.
No console do PostgreSQL no Linux, digite o seguinte comando:
$ pg_dump <nome_da_base_de_dados> > nome_arq_texto_bkp
Onde:
OBS: Este comando faz uma exportação de todo o banco de dados, ou seja, dados e tabelas (estrutura).
Mas se você quiser exportar apenas uma tabela:
$ pg_dump <nome_da_base_de_dados> -t <nome_da_tabela> > nome_arq_texto_bkp
Isto faz uma exportação de uma tabela específica dentro do banco.
Para retornar o backup faça:
$ psql -e <nome_da_base_de_dados> < nome_arq_texto_bkp
No console do PostgreSQL no Linux, digite o seguinte comando:
$ pg_dump <nome_da_base_de_dados> > nome_arq_texto_bkp
Onde:
- nome_da_base_de_dados: é o nome do banco de dados que você quer fazer o backup.
- nome_arq_texto_bkp: este vai ser o arquivo que guardará todas as informações do banco de dados.
OBS: Este comando faz uma exportação de todo o banco de dados, ou seja, dados e tabelas (estrutura).
Mas se você quiser exportar apenas uma tabela:
$ pg_dump <nome_da_base_de_dados> -t <nome_da_tabela> > nome_arq_texto_bkp
Isto faz uma exportação de uma tabela específica dentro do banco.
Para retornar o backup faça:
$ psql -e <nome_da_base_de_dados> < nome_arq_texto_bkp
Assinar:
Postagens (Atom)