PostgreSQL安装流程

PostgreSQL安装

本文是一个 下载 , 安装,建表 , 一个简单完整的流程, 就当入门前的小铺垫吧

安装前置信息

  • 环境: centos7版本(都可以)
  • PostgreSql版本: PostgreSQL 10.10, 64-bit
  • 下面操作我是用root 账号, 其他也可以,但是不方便需要授权命令啥的

目录

  1. 安装步骤安装语句
  2. 连接
  3. 自定义修改
  4. 建表

一步一步来

  • 安装步骤安装语句

1.安装rpm文件

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  1. 安装客户端(client)
yum install postgresql10
  1. 安装服务端(server)
yum install postgresql10-server
  1. 初始化操作
/usr/pgsql-10/bin/postgresql-10-setup initdb
  1. 自启动,启动pg服务
systemctl enable postgresql-10  //设置自动启动
systemctl start postgresql-10   //启动postgresql服务

当然了看官网也可以, 为避免找直接贴出来吧, 后续想了解也可以直接从官网上看 , 这样还可以选择环境和版本进行命令安装

https://www.postgresql.org/download/linux/redhat/

  • 创建用户和数据库

1、使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码, 不用担心放心大胆走), 然后登录数据库

su - postgres  //用postgres用户
psql           //登录数据库

来张图缓解一下
PostgreSQL安装流程
2、创建用户和数据库并授权

create user pguser with password 'abc123';            // 创建用户
create database pguser_db owner pguser;                 // 创建数据库
grant all privileges on database pguser_db to pguser;   // 授权 , 就是把您创建的数据库授权给你创建的用户
\q                  // 退出psql(输入 \q 再按回车键即可), 就是进入一个bash了

再来张图片
PostgreSQL安装流程

注: 细心的话, 发现第一行,有个错, 没错是的 , 因为我建用户时时pg_开头的, 所以呵呵, 冲突了

  • 连接

安装, 数据库和用户也创建了,授权了,下面肯定想办法连接了, 默认是不能远程访问的,

开启远程访问

1、修改/var/lib/pgsql/10/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”, 原本是localhost的, 改成 * 你懂得

vim /var/lib/pgsql/10/data/postgresql.conf

PostgreSQL安装流程PostgreSQL安装流程
2、修改/var/lib/pgsql/10/data/pg_hba.conf文件(想知道这个配置文件又是啥, 自己百度)

vim /var/lib/pgsql/10/data/pg_hba.conf

看着图里面, 看准位置, 添加到哪里了(方便管理)
PostgreSQL安装流程

3、重启postgresql服务

systemctl restart postgresql-10.service

建议另打开一个窗口, 直接敲这个命令
PostgreSQL安装流程
重启后 , 就需要用工具连接一下试试了, 直接看图吧
PostgreSQL安装流程
不要在意端口 , 因为默认就是5432, 当然你可以改

当然了, 不甘心的, 想自己修改一些操作的 , 可以

  • 自定义修改

1、修改默认生成的 postgres 用户密码

su - postgres 
psql -U postgres
alter user postgres with encrypted password '1';

上面第一行的postgres和第二行的postgres是肯定不一样的,第一行的为操作系统的用户额能让你登进去 ,第二行为数据库的用户 ,让你登数据库的, 我们用的肯定是第二个啦, 上面这个就是把默认的postgres的账号密码改成"1" 了

这个就不贴图了 , 没必要, 当然后修改过密码后肯定又要经历重启,查看什么的命令 , 直接贴上去, 方便

2、服务启动、关闭、重启、查看状态命令

systemctl start postgresql-10.service     // 启动服务
systemctl stop postgresql-10.service      // 关闭服务
systemctl restart postgresql-10.service   // 重启服务
systemctl status postgresql-10.service    // 查看状态

下面来建个表

  • 建表

这个建表, 先建索引, 然后表语句, 再有注解, 最后赋个权限

DROP TABLE IF EXISTS "public"."表名字";
DROP SEQUENCE IF EXISTS "public"."表名字_id_seq";
CREATE SEQUENCE "public"."表名字_id_seq"
INCREMENT 1
MINVALUE  1
MAXVALUE 2147483647
START 1
CACHE 1;



CREATE TABLE "public"."表名字" (
  "id" int4 NOT NULL DEFAULT nextval('表名字_id_seq'::regclass),
  "main_id" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "telephone" varchar(20),
  "send_message" int4,
  "times" int4,
  "type" int4,
  "create_time" timestamp(0),
  "update_time" timestamp(0)
)
;
COMMENT ON COLUMN "public"."表名字"."telephone" IS '手机号码';
COMMENT ON COLUMN "public"."表名字"."send_message" IS '是否需要发送短信';
COMMENT ON COLUMN "public"."表名字"."times" IS '短信发送次数';
COMMENT ON COLUMN "public"."表名字"."type" IS '发送短信类型';


CREATE INDEX "index_表名字_main_id" ON "public"."表名字" USING btree (
  "main_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);


GRANT Delete, Insert, Select, Truncate, Update ON TABLE "public"."表名字" TO "用户名字";
GRANT Update,Select ON TABLE "public"."表名字_id_seq" TO "用户名字";

ok , 打完收工 .

*欢迎各位点评 , 当然有其他资料 , 可以互相分享 , 交流学习 *

上一篇:centos 安装 pg数据库


下一篇:《postgresql指南--内幕探索》第四章 外部数据包装器