[转帖]028.PGSQL-用户创建、表空间创建、数据库创建、schema创建、表创建、生成测试数据、指定搜索路径、

pgsql,用户,创建,空间,数据库,schema,生成,测试数据,指定,搜索,路径 · 浏览次数 : 0

小编点评

**创建数据库** ```sql CREATE DATABASE \"mydb\"WITH OWNER = \"pguser\" TEMPLATE = \"template0\" ENCODING = 'UTF8' TABLESPACE = \"tbs_mydb\"; ``` **创建表空间** ```sql CREATE SCHEMA myschema;  CREATE TABLE \"myschema\".\"o_ls_test\" ( \"rid\" int4, \"name\" varchar(200) COLLATE \"pg_catalog\".\"default\", \"timeflag\" timestamp without time zone default clock_timestamp()); ``` **赋予权限** ```sql GRANT all on database mydb to pguser with grant option; GRANTpostgres=# grant all on tablespace tbs_mydb to pguser ; GRANT need to give users login permission, otherwise it will get error. ``` **查看数据库** ```sql mydb=> 查看对应库的schemasmydb=> \\dnList of schemasName | Owner--------+----------public | postgres(1 row)  ``` **查看表空间和用户** ```sql             \\dbpostgres=# \\dbList of tablespacesName | Owner | Location------------+----------+-----------------------------------pg_default | postgres |pg_global | postgres |tbs_mydb | pguser | /var/lib/pgsql/13/pg_tbs/tbs_mydb(3 rows)  ``` **创建schema创建schema** ```sql CREATE SCHEMA myschema;  CREATE TABLE \"myschema\".\"o_ls_test\" ( \"rid\" int4, \"name\" varchar(200) COLLATE \"pg_catalog\".\"default\", \"timeflag\" timestamp without time zone default clock_timestamp()); ``` **创建索引** ```sql CREATE INDEX \"rid_index\" ON \"myschema\".\"o_ls_test\" USING btree (\"rid\" ASC NULLS LAST); ``` **插入测试数据** ```sql insert into \"myschema\".\"o_ls_test\"(rid ,name )select n ,n || '测试名字' || nfrom generate_series(1,5000000) n ; ```

正文

https://www.cnblogs.com/star521/p/15054341.html

 

 

 登录数据库
su postgres #注意这里postgers 前后都有空格
psql -U postgres -d postgres -p 5432

 

[centos@s101 /home/centos]$su postgres
[postgres@s101 /home/centos]$cd /
[postgres@s101 /]$psql -U postgres -d postgres -p 5432

 

用户创建

CREATE ROLE pguser WITH ENCRYPTED PASSWORD '123456';


postgres=# CREATE ROLE pguser WITH ENCRYPTED PASSWORD '123456';
CREATE ROLE

 

创建表空间目录

[postgres@s101 /var/lib/pgsql/13]$mkdir -p /var/lib/pgsql/13/pg_tbs/tbs_mydb

表空间创建


postgres=# create tablespace tbs_mydb owner pguser location '/var/lib/pgsql/13/pg_tbs/tbs_mydb';
CREATE TABLESPACE

数据库创建

复制代码
CREATE DATABASE "mydb"
WITH
  OWNER = "pguser"
  TEMPLATE = "template0"
  ENCODING = 'UTF8'
  TABLESPACE = "tbs_mydb"
;

COMMENT ON DATABASE "mydb" IS '测试数据库';
复制代码

赋予权限


postgres=# grant all on database mydb to pguser with grant option;
GRANT
postgres=# grant all on tablespace tbs_mydb to pguser ;
GRANT

需要给用户登录权限,不然会报错

postgres=# ALTER ROLE pguser LOGIN;
ALTER ROLE

测试登录

[postgres@s101 /]$psql -h localhost -p 5432 mydb pguser
Password for user pguser:
psql (9.2.24, server 13.3)
WARNING: psql version 9.2, server version 13.0.
Some psql features might not work.
Type "help" for help.

mydb=>

 

查看对应库的schemas


mydb=> \dn
List of schemas
Name | Owner
--------+----------
public | postgres
(1 row)

 

查看表空间和用户   \db


postgres=# \db
List of tablespaces
Name | Owner | Location
------------+----------+-----------------------------------
pg_default | postgres |
pg_global | postgres |
tbs_mydb | pguser | /var/lib/pgsql/13/pg_tbs/tbs_mydb
(3 rows)

 

创建schema

创建schema
CREATE SCHEMA myschema;

 

创建表

复制代码
CREATE TABLE "myschema"."o_ls_test" (
  
  "rid" int4,
  "name" varchar(200) COLLATE "pg_catalog"."default",
  "timeflag" timestamp without time zone default clock_timestamp()
)
;

ALTER TABLE "myschema"."o_ls_test" 
  OWNER TO "pguser";

COMMENT ON COLUMN "myschema"."o_ls_test"."rid" IS 'rid';
COMMENT ON COLUMN "myschema"."o_ls_test"."name" IS '名称';
COMMENT ON COLUMN "myschema"."o_ls_test"."timeflag" IS '创建时间'; 

COMMENT ON TABLE "myschema"."o_ls_test" IS '测试表';

CREATE INDEX "rid_index" ON "myschema"."o_ls_test" USING btree (
"rid" ASC NULLS LAST
);

复制代码

生成测试数据

复制代码
insert into "myschema"."o_ls_test"(
rid 
,name 
)
select n ,n || '测试名字' || n
from 
generate_series(1,5000000)  n ;
复制代码

 

 

查看搜索路径

复制代码
复制代码
mydb=> SHOW search_path;
   search_path
-----------------
 "$user", public
(1 row)


mydb=> SELECT current_schema();
current_schema
----------------
public
(1 row)





指定搜索路径


mydb=> SET search_path TO public, myschema ;
SET
mydb=> SELECT current_schema();
current_schema
----------------
public
(1 row)

mydb=> SHOW search_path;
search_path
------------------
public, myschema
(1 row)

查看搜索路径下schema的所有表
mydb=> \dt List of relations Schema | Name | Type | Owner ----------+-----------+-------+-------- myschema | o_ls_test | table | pguser
复制代码

 

 


postgres@[local]:5432=#alter system set search_path = "$user",public,myschema;
ALTER SYSTEM
postgres@[local]:5432=#show search_path;
search_path
-----------------
"$user", public
(1 row)

postgres@[local]:5432=#SELECT pg_reload_conf();
pg_reload_conf
----------------
t
(1 row)

postgres@[local]:5432=#show search_path;
search_path
---------------------------
"$user", public, myschema

复制代码

 

表空间 tablespace  

数据库 database

schema schema 

与[转帖]028.PGSQL-用户创建、表空间创建、数据库创建、schema创建、表创建、生成测试数据、指定搜索路径、相似的内容:

[转帖]028.PGSQL-用户创建、表空间创建、数据库创建、schema创建、表创建、生成测试数据、指定搜索路径、

https://www.cnblogs.com/star521/p/15054341.html 登录数据库 su postgres #注意这里postgers 前后都有空格 psql -U postgres -d postgres -p 5432 [centos@s101 /home/centos]

【转帖】MySQL 8.0.32如期而至

MySQL 8.0版本计划 MySQL 8.0开始采用快速迭代开发模式,基本上是每隔3个月就发布一个新的小版本。去年1月18日(2022.1.18)发布MySQL 8.0.28,今年1月17日发布MySQL 8.0.32,再看看其他几个版本的时间,还真是贼守时啊。 版本发布时间上一年版本上一年发布时

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /