PostgreSQL安装
本文是一个 下载 , 安装,建表 , 一个简单完整的流程, 就当入门前的小铺垫吧
安装前置信息
- 环境: centos7版本(都可以)
- PostgreSql版本: PostgreSQL 10.10, 64-bit
- 下面操作我是用root 账号, 其他也可以,但是不方便需要授权命令啥的
目录
- 安装步骤安装语句
- 连接
- 自定义修改
- 建表
一步一步来
1.安装rpm文件
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 安装客户端(client)
yum install postgresql10
- 安装服务端(server)
yum install postgresql10-server
- 初始化操作
/usr/pgsql-10/bin/postgresql-10-setup initdb
- 自启动,启动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
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 , 打完收工 .
*欢迎各位点评 , 当然有其他资料 , 可以互相分享 , 交流学习 *