Postgresql布署及常用操作

  1. Postgresql安装布署:

wget -c https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.gz

tar -xf postgresql-11.2.tar.gz

编译安装:

cd postgresql-11.2

yum install readline-devel –y

./configure -prefix=/usr/local/postgresql

make -j4 && make install

创建用户:

useradd postgresql

创建postgresql数据存储目录并更改属主:

mkdir -p /data/postgresql

chown -R postgresql /data/postgresql/

chown -R postgresql /usr/local/postgresql/

su - postgresql

数据库初始化:

/usr/local/postgresql/initdb -D /data/postgresql/

 

启动postgresql数据库:

/usr/local/postgresql/pg_ctl -D /data/postgresql/ -l logfile start 

 

 

停止数据库:

/usr/local/postgresql/pg_ctl stop -D /data/postgresql

默认配置文件目录在数据目录下:

/data/postgresql

  1. Postgresql数据库常用操作:

查看pg版本:

pg_ctl --version

命令行登录数据库:

psql -U username -d dbname -h hostip -p port

退出:

\q

列出所有数据库:

\l

切换数据库:

\c dbname

列出当前数据库的所有表:

\d

查看指定表的所有字段:

\d tablename

查看指定表的基本情况:

\d+ tablename

新建表:

create table TESTCASE(

id INTEGER,

task_class INTEGER,

age TEXT,

PRIMARY KEY(id, task_class)

);

删除表:

drop table REL_CROSS_NODE;

清空表:

delete from [表名];

or

TRUNCATE TABLE  [表名]

区别:Truncate table 表名 (注:不带where语句) 速度快,而且效率高。

因为DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放

添加字段:
alter table [表名] add column [字段名] [类型];

更改字段:

alter table [表名] rename column [旧字段名] to [新字段名];
例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL

删除字段:

 

alter table [表名] drop column [字段名];

向表中插入数据:

insert into [表名] (字段1,字段2) values (值1,值2);

例如:

insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1)  

  • 如果表中字段有大写的字段,则需要对应的加上双引号。例:insert into test (no, "Name") values ('123', 'jihite');
  • 值用单引号引起来(''),不能用双引号("")

 

表中删除一行数据:

delete from [表名] where [该行特征];

修改表中数据:

update [表名] set [目标字段名]=[目标值] where [该行特征]

删除表:

drop table [表名];

命令导入sql数据文件:

psql -h localhost  -d databaseName  -U username -f  filename

数据库的备份&恢复:

导出到线下文件:

pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql 

把线下文件导入到数据库:

psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql

查询数据库的连接信息:

select * from pg_stat_activity

 

发布了16 篇原创文章 · 获赞 3 · 访问量 2232

猜你喜欢

转载自blog.csdn.net/OthersOnlyMe/article/details/104037362