微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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           //登录数据库

来张图缓解一下

安装命令-程

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了

再来张图片

创建用户,数据库,然后授权-程

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

  • 连接

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

开启远程访问

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

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

pg的conf文件监听地址
2、修改/var/lib/pgsql/10/data/pg_hba.conf文件(想知道这个配置文件又是啥, 自己百度)

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

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

添加访问地址

3、重启postgresql服务

systemctl restart postgresql-10.service

建议另打开一个窗口, 直接敲这个命令

在这里插入图片描述


重启后 , 就需要用工具连接一下试试了, 直接看图吧

连接成功


不要在意端口 , 因为认就是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 , 打完收工 .

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐