https://www.postgresql.org/download/macosx/
vim ~/.bash_profile
# conteúdo
alias "postgre_start= postgres -D /usr/local/var/postgres_12"
source ~/.bash_profile
pg_ctl -D /usr/local/var/postgres_12 initdb
pg_ctl -D /usr/local/var/postgres_12 start
pg_ctl -D /usr/local/var/postgres_12 stop
psql
\q
createdb meu_banco
createuser meu_usuario
psql meu_banco
psql -h localhost -p 5432 -U meu_usuario -d meu_banco
CREATE USER danilo WITH ENCRYPTED PASSWORD '';
alter user meu_usuario with encrypted password 'minha_senha_123';
grant all privileges on database meu_banco to meu_usuario;
GRANT pg_read_all_data TO meu_usuario;
GRANT pg_write_all_data TO meu_usuario;
GRANT USAGE ON SCHEMA public TO meu_usuario;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO meu_usuario;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO meu_usuario;
GRANT ALL PRIVILEGES ON DATABASE "meu_banco" to meu_usuario;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO meu_usuario;
GRANT ALL PRIVILEGES ON DATABASE "meu_banco" to meu_usuario;
ALTER USER meu_usuario WITH SUPERUSER;
psql data_base -U meu_usuario
\l+ # mostra tabela completa das databaes
SELECT datname FROM pg_database; # mostra nome das databases
\c meu_banco;
\dt+
pg_dump -U meu_usuario -d meu_banco > meubanco_bkp.sql
psql -U danilo -d meu_banco < meubanco_bkp.sql
pg_restore -U meu_usuario -d meu_banco ~/Downloads/meubanco_bkp.sql
# stop
brew services stop postgresql
pg_ctl -D /usr/local/var/postgres stop
# start
pg_ctl -D /usr/local/var/postgres start
CREATE TABLE accounts (
user_id serial PRIMARY KEY,
username VARCHAR ( 50 ) UNIQUE NOT NULL,
password VARCHAR ( 50 ) NOT NULL,
email VARCHAR ( 255 ) UNIQUE NOT NULL,
created_on TIMESTAMP NOT NULL,
last_login TIMESTAMP
);
insert into accounts (username, "password", email, created_on, last_login)
values ('danilo', '123', 'danilo@teste.com', '2022-04-26 10:00:00', '2022-04-26 10:00:00')
update accounts set created_on = '2022-04-26 10:10:00'
where user_id = 4
delete from accounts where user_id = 4;
ALTER TABLE distributors ALTER COLUMN name TYPE varchar(100);
select * from tabela;
select tabela.* from tabela
inner join tabela2 on tabela2.campo_id = tabela.id;
select tabela.* from tabela
left join tabela2 on tabela2.campo_id = tabela.id;
select tabela.* from tabela
right join tabela2 on tabela2.campo_id = tabela.id;
select * from tabela order by campo desc
select * from tabela order by campo asc
SELECT
column_1,
column_2,
sum(column_3) as soma
FROM
table_name
GROUP BY
column_1,
column_2
having
sum(column_3) > 10
CREATE VIEW comedies AS
SELECT *
FROM films
WHERE kind = 'Comedy';
select * from comedies
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
$$;
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
BEGIN ATOMIC
INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
END;
CALL insert_data(1, 2);
CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$
BEGIN
RETURN i + 1;
END;
$$ LANGUAGE plpgsql;
select id, nome, increment(tamanho) from usuario;