版本比较
标识
- 该行被添加。
- 该行被删除。
- 格式已经改变。
前期准备
系统更新
参考标准操作完成系统更新设置。https://wiki.waringid.me/x/MwAS
安装 Pgsql
代码块 | ||
---|---|---|
| ||
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install postgresql10 yum install postgresql10-server /usr/pgsql-10/bin/postgresql-10-setup initdb systemctl enable postgresql-10 systemctl start postgresql-10 |
初始配置
安装完成后,查看 PostgreSQL 版本
代码块 | ||
---|---|---|
| ||
psql --version |
完成安装默认会
- 创建名为“postgres”的 linux 用户
- 创建名为“postgres”不带密码的默认数据库账号作为数据库管理员
- 创建名为“postgres”的表
代码块 | ||
---|---|---|
| ||
cat /etc/group |
默认信息
config /var/lib/pgsql/10/data
data /var/lib/pgsql/10/data
locale en_US.UTF-8
socket /var/run/postgresql
port 5432
psql 指令
代码块 | ||
---|---|---|
| ||
sudo -u postgres psql |
\password:设置密码
\q:退出
\h:查看 SQL 指令解释,例如 \h select
\?:查看 SQL 命令列表
\l:列出所有的数据库
\c [database_name]:连接具体的数据库
\du:列出所有用户
\e:打开文本编辑
\conninfo:列出当前和数据库连接的信息
常用操作
登录
代码块 | ||
---|---|---|
| ||
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432 |
如果数据库用户和系统用户同名则可以省略用户名,如果数据库和系统用户同名也可省略。
修改管理员密码
代码块 | ||
---|---|---|
| ||
sudo -u postgres psql |
代码块 | ||
---|---|---|
| ||
sudo -u postgres psql -d postgres ##删除管理员密码 |
代码块 | ||
---|---|---|
| ||
alter user postgres with password 'password'; |
允许远程访问
1、修改监听地址
代码块 | ||
---|---|---|
| ||
vim /var/lib/pgsql/10/data/postgresql.conf |
将#listen_addresses = 'localhost' 的注释去掉改为 listen_addresses = '*' 或具体需要监听的地址
2、修改所允许用户的IP段
代码块 | ||
---|---|---|
| ||
vim /var/lib/pgsql/10/data/pg_hba.conf |
在文件末尾添加:host all all 192.168.0.13/32 trust 或者 host all all 0.0.0.0 0.0.0.0 md5
3、重启数据库服务
添加用户和数据库
1、使用 psql 指令
代码块 | ||
---|---|---|
| ||
sudo -u postgres psql |
代码块 | ||
---|---|---|
| ||
create user konguser with password 'password'; create database kongdatabse owner konguser; grant all privileges on database kongdatabse to konguser; |
2、使用 shell 方式
代码块 | ||
---|---|---|
| ||
sudo -u postgres createuser --superuser konguser1; sudo -u postgres psql |
\password konguser1;
\q
代码块 | ||
---|---|---|
| ||
sudo -u postgres createdb -O konguser1 kongdatabase1; |
3、删除用户
\du
\l
代码块 | ||
---|---|---|
| ||
drop database kongdatabse; drop user konguser; |
基本数据库指令
代码块 | ||
---|---|---|
| ||
--创建新表 CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE); --插入数据 INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22'); --选择记录 SELECT * FROM user_tbl; --更新数据 UPDATE user_tbl set name = '李四' WHERE name = '张三'; --删除记录 DELETE FROM user_tbl WHERE name = '李四' ; --添加栏位 ALTER TABLE user_tbl ADD email VARCHAR(40); --更新结构 ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; --更名栏位 ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; --删除栏位 ALTER TABLE user_tbl DROP COLUMN email; --表格更名 ALTER TABLE user_tbl RENAME TO backup_tbl; --删除表格 DROP TABLE IF EXISTS backup_tbl; |
kong 网关操作
连接 kong 数据库
sudo
-u
postgres
psql
-U
kong
-d
kong
-h
127.0.0.1
-p
5432
Image Added
查看所有表
\dt
Image Removed
Image Added
查看 services 表
select * from services;
Image Removed
Image Added
Image Removed
Image Added
查看 route 表
select * from routes;
Image Removed
Image Added
Image Removed
Image Added
查看 keyauth 表
select * from keyauth_credentials;
查看 api 表
select * from apis;
查看 plugins 表
select * from plugins;
Image Removed
Image Removed
Image Added
Image Added
Image Added
Image Removed
查看 consumers 表
select * from consumers;
Image Removed
Image Added
自定义安装
设置目录权限
代码块 | ||
---|---|---|
| ||
mkdir -p /data/pgsql/data mkdir -p /data/pgsql/log chown -R postgres.postgres /data/pgsql /usr/pgsql-11/ |
初始化数据库
后续的设置使用前面新建的postgres用户操作。
设置用户环境变量
代码块 | ||
---|---|---|
| ||
su - postgres vi ~/.bash_profile # 增加如下内容 export PG_HOME=/usr/pgsql-11 export PGDATA=/data/pgsql/data export PATH=${PG_HOME}/bin:$PATH export PGPORT=5432 export PGUSER=postgres export PGDATABASE=postgres |
使用默认地址${PGDATA}初始化
代码块 | ||
---|---|---|
| ||
source ~/.bash_profile ${PG_HOME}/bin/initdb -D ${PGDATA} -E utf8 vi ${PGDATA}/postgresql.conf listen_addresses = '*' port = 5432 |
设置数据库白名单
代码块 | ||
---|---|---|
| ||
vi ${PGDATA}/pg_hba.conf # 增加如下一条记录,允许用户密码模式(这是一个非常宽松的限制,生产环境慎用) host all all 0.0.0.0/0 md5 |
启动停止命令
这里的启停命令都是用postgres用户执行的。
代码块 | ||
---|---|---|
| ||
#### 启动 ${PG_HOME}/bin/pg_ctl start #### 停止 ${PG_HOME}/bin/pg_ctl stop #### 重新载入配置文件(不需要重启) ${PG_HOME}/bin/pg_ctl reload |
访问数据库
命令行连接
# 使用postgres用户作为超级用户登录
代码块 | ||
---|---|---|
| ||
psql -U postgres -d postgres ##建立管理员账号进行日程操作,避免使用内置超级用户 create user admin superuser password 'xxx'; -- 新建一个测试用用户 create user demo with password 'demo'; -- 新建一个测试用DB并分配给指定用户 create database demo with encoding='utf8' owner=demo; -- 修改用户密码 alter user demo password 'xxx'; |
启动服务
因为在初始化数据库的时候我们使用了自定义数据目录,所以在注册服务前我们需要修改默认的地址
### 修改服务中的地址
代码块 | ||
---|---|---|
| ||
vi /usr/lib/systemd/system/postgresql-11.service # 修改Environment=PGDATA=/var/lib/pgsql/11/data/为 Environment=PGDATA=/data/pgsql/data/ ### 注册服务并启动 systemctl daemon-reload systemctl enable postgresql-11 systemctl start postgresql-11 systemctl stop postgresql-11 systemctl disable postgresql-11 |
卸载
代码块 | ||
---|---|---|
| ||
yum remove -y postgresql11 postgresql11-server rm -rf /usr/pgsql-11/ /var/lib/pgsql/ /data/pgsql/ userdel -r postgres systemctl stop postgresql-11 mv /var/lib/pgsql/11/* /data/pgsql/ |
目录 | ||
---|---|---|
|