Win10 instalação e configuração PostgreSQL
1 Baixe e instale o PostgreSQL
①Entre no site oficial https://www.postgresql.org/, clique em download no centro da página
Você também pode pular as etapas a seguir diretamente (as etapas a seguir são principalmente para ajudá-lo a entender como o software externo geral entra na página de download do site oficial) e entrar diretamente na página de download, o endereço do link:
- https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
②Selecione o sistema operacional correspondente e clique para entrar na página de download específica
Este artigo usa o windows10 como exemplo, clique em windows
③Entre na página de download do Windows e clique em baixar o instalador
④Selecione a versão correspondente do sistema correspondente
Após a conclusão do download, execute a instalação com privilégios de administrador e o processo de instalação pode ser padronizado para a próxima etapa
注意:
Se você clicar duas vezes no arquivo .exe e relatar um erro:
- É porque nosso nome de usuário atual contém chinês, o que leva ao processo de instalação, então só precisamos alterar o nome de usuário win10 para inglês
2 Configurar o PostgreSQL
2.1 Configurar variáveis de ambiente
① Clique com o botão direito neste computador na área de trabalho do win10, selecione Propriedades e selecione Configurações avançadas do sistema
② Selecione variáveis de ambiente
③ De acordo com suas próprias necessidades, veja se deseja configurar variáveis de ambiente do usuário ou variáveis de ambiente do sistema
As variáveis de ambiente do usuário são apenas para o usuário atual e as variáveis de ambiente do sistema são para todos os usuários do computador
- Variáveis de ambiente do sistema de configuração geral
Em Variáveis de ambiente do sistema, selecione Novo
# 新建PG_HOME,对应的值填入自己postgre的安装目录
E:\database\PostgreSQL
# 在path下追加%PG_HOME%\bin\
%PG_HOME%\bin\
# 新建PG_DATA
E:\database\PostgreSQL\data
2.2 Inicialização
① Após a conclusão da instalação, precisamos inicializar o banco de dados. O método de inicialização é executar initdb.exe.
E:\database\PostgreSQL\data está vazio antes da inicialização e execução, e você verá muitos arquivos após a execução
② Modifique o arquivo de configuração postgresql.conf no diretório de dados
Se você deseja apenas acesso local,
listen_addresses
altere-o para localhost. Se você deseja configurar todos os acessos, configure-o como*
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
3 Iniciar e testar
Porque começamos a configurar variáveis de ambiente, digite cmd em qualquer lugar e execute
psql -U postgres
Em seguida, digite a senha que definimos durante o processo de instalação, você pode:
- Teste a conexão pelo navicat
Clique, teste a conexão, o resultado:
4 comandos relacionados
4.1 Criar usuário
# 创建用户
CREATE USER testUser WITH PASSWORD '*****';
# yaml中url配置:
# url: "postgres://user_name:pass_word@ip:port/database?sslmode=disable"
url: "postgres://s3batch_u:[email protected]:5432/s3batch?sslmode=disable"
4.2 Registrar como um serviço do sistema
pg_ctl register -N "postgresql" -D "C:\Program Files\PostgreSQL\your_postgresql_version\data" -U "your_username" -P "your_password"
# 或者
sc create postgresql binPath= "E:\database\PostgreSQL\bin\pg_ctl.exe runservice -N postgresql -D "E:\database\PostgreSQL\data" -w" start= auto
4.3 Operação de banco de dados ou tabela
-- 以postgres用户角色登录postgresql数据库
psql -U postgres;
--
①postgres-#:短横杠的表明语句未结束,用分号标识结束
②postgres=#:postgres后面是等号的表明语句已经结束,可以开始一个新的语句
--
-- 切换数据库[以workflow_u的用户角色切换到workflow数据库]
\c workflow workflow_u
-- 展示当前数据库下所有的表
\d
-- 展示userinfo的表结构
\d userinfo
-- 创建表
CREATE TABLE userdetail
(
uid integer,
intro character varying(100),
profile character varying(100) -- 类似于mysql的varchar(100)
)
WITH(OIDS=FALSE);
-- 添加记录
insert into userdetail (uid, intro, profile) values (1, '这是一个介绍', '这个是个人资料');
-- 查询表中记录记录[起始记录从0开始,每页5条数据]
select uid, intro, profile from public.userdetail offset 0 limit 5;
-- 根据创建时间降序排列
select uid,intro from userdetail order by created_time desc offset 0 limit 1;
-- 删除表中的intro字段
alter table userdetail drop column intro;
-- 向表中添加name字段
alter table userdetail add column name character varying(100);
-- 更新表中记录
update userdetail set name = 'jack' where uid = 1;
-- 给uid添加主键
alter table userdetail drop constraint if exists userdetail_pkey, add primary key(uid);
-- 给name添加唯一索引
create unique index if not exists idx_userdetail_name on userdetail (name);
-- 添加时间字段,并插入一条记录 timestamp:2023-06-30 16:44:41.660549
alter table userdetail add column created_time timestamp;
-- insert into userdetail(uid, profile, name, created_time) values(4, 'intro4', 'tom4', ' 2022-06-30 16:44:41.660549');
insert into userdetail(uid, profile, name, created_time) values(2, '介绍2', 'tom', now());
-- 创建序列sequence
CREATE SEQUENCE uid_sequence
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
-- 删除序列
DROP SEQUENCE IF EXISTS uid_sequence;
-- 修改表结构,将 uid 设置为序列的默认值
ALTER TABLE userdetail
ALTER COLUMN uid SET DEFAULT nextval('uid_sequence'::regclass);
-- 删除表
drop table userdetail;
# \l 列出所有数据库
\l
# \c 切换数据库
\c testbase
# \d 查询当前数据库下的所有表
\d
# \d table_name 查看表结构
# \d table_name 查看表的信息(如果有索引也会展示出来)
\d mytable
# \di 查看数据库的所有索引,在postgres=#模式下执行
\di
# \q 退出控制台
\q
5 erros
5.1 pq: SSL não está habilitado no servidor
# 在datasource中设置sslmode=disable
datasource := "user=postgres password=*** host=localhost port=5432 dbname=testgo sslmode=disable"
5.2 Caracteres distorcidos do console
# 连接到数据库
psql -U your_username -d your_database_name
# 查看当前编码
SHOW client_encoding;
Abra o arquivo de configuração PostgreSQL postgresql.conf. Este arquivo geralmente está localizado no subdiretório de dados do diretório de instalação do PostgreSQL.
Encontre o parâmetro client_encoding no arquivo e modifique seu valor para UTF8
client_encoding = 'UTF8'
Salve, feche o arquivo e reinicie o psql
net stop postgresql
net start postgresql