(postgresql、ClickHouse)数据库的连接、启动和关闭的常用命令

一、PostgreSQL相关终端命令

PostgreSQL服务启动与停止、连接

在没有设置环境变量的情况下 需进入pgsql的bin目录

#Windows下启动

#打开“开始”菜单,找到 “PostgreSQL” 文件夹,找到 “pgAdmin” 应用程序,单击该应用程序图标启动PostgreSQL

进入postgresql目录

.\bin\pg_ctl -D data -l logfile start

.\bin\pg_ctl -D data -l logfile stop

注册为本地服务后 可直接通过 net start xx 启动服务



#Linux下启动

su - postgres

/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile



#连接指定服务器上的数据库(-U 用户名)

psql -h IP -p 端口 -U 用户名 -d 数据库名 -W

常用sql命令

select version(); #显示版本信息

\l  #列出所有数据库

\c database_name #切换到指定的数据库

#查看当前使用的数据库

select current_database();

\c #显示当前数据库名称和用户

\conninfo #显示客户端的连接信息

\du #显示所有用户

\dn #显示数据库中的schema

\encoding #显示字符集



#创建数据库

creadb database db_name owner 所属用户 encoding UTF8;

drop database db_name;



\d #列出数据库中所有表

\dt #列出数据库中所有表

\d [table_name] #显示指定表的结构

\di #列出数据库中所有 index

\dv #列出数据库中所有 view

drop table tb_name;  #删除一张表

#插入数据

insert into table_name(column1,column2,...) values(value1,value2,..)

alter table [表名] drop column [字段名];  #删除表中的字段



\i testdb.sql #执行sql文件

\x #扩展展示结果信息,相当于MySQL的\G

\o /tmp/test.txt #将下一条sql执行结果导入文件中

\? #所有命令帮助

\h #sql命令帮助

\q #退出连接

数据备份与恢复

#导出数据

#导出单表数据

pg_dump -h ip -p port -U 用户名 -t table_name -f backup.sql database_name  #sql中数据为copy方式

pg_dump -h ip -p port -U 用户名 -t table_name -f backup.sql --column-inserts database_name  #sql中数据为insert方式,速度慢,便于导入到非PostgreSQL数据库

pg_dump -h ip -p port -U 用户名 -t table_name --column-inserts database_name > backup.sql   #不仅可以使用 -f xx.sql,也可使用 > xx.sql

#导出多个表数据

pg_dump -h ip -p port -U 用户名 -t tb_name1 -t tb_name2 -f backup.sql database_name

#导出整个数据库

pg_dump -h ip -p port -U 用户名 -f backup.sql database_name

#只导出表结构,不导出表数据

pg_dump -h ip -p port -U 用户名 -f backup.sql -s database_name

#只导出数据,不导出表结构

pg_dump -h ip -p port -U 用户名 -f backup.sql -a database_name





#导入数据 执行sql文件

psql -h IP -p port -U 用户名 -W -d db_name < dump/save.sql

psql -h ip -p port -U postgres -d db_name -f xxx.sql 

pg_dump 常用参数

-h host,指定数据库主机名,或者IP

-p port,指定端口号

-U user,指定连接使用的用户名

-W,按提示输入密码

dbname,指定连接的数据库名称,实际上也是要备份的数据库名称。

-a,–data-only,只导出数据,不导出表结构

-c,–clean,是否生成清理该数据库对象的语句,比如drop table

-C,–create,是否输出一条创建数据库语句

-f file,–file=file,指定输出文件或目录名,输出到指定文件中

-n schema,–schema=schema,只转存匹配schema的模式内容

-N schema,–exclude-schema=schema,不转存匹配schema的模式内容

-O,–no-owner,不设置导出对象的所有权

-s,–schema-only,只导致对象定义模式,不导出数据

-t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表,不指定具体表则导出整个数据库

-T table,–exclude-table=table,不转存匹配到的表。

–inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。

–-column-inserts,导出的数据有显式列名,以带有列名的 INSERT 命令形式转储数据

数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库

二、ClickHouse相关终端命令

clickhouse对大小写敏感。

ClickHouse服务启动与停止、连接、备份恢复

#服务启动

clickhouse-server --config-file=/etc/clickhouse-server/config.xml

systemctl restart clickhouse-server   #服务重启

service clickhouse-server restart     #服务重启

systemctl stop clickhouse-server      #服务停止

#click-client连接

clickhouse-client --user 你的账号 --password 你的密码  



#导出数据 可以txt、csv、json格式导出

clickhouse-client -u [用户名] -h [IP] -d [数据库名称] --password [密码] --query="select * from database.table FORMAT CSV" > 文件路径以及文件名称

#导入文件

clickhouse-client -u [用户名] -h [IP] -d [数据库名称] --password [密码] --query="insert into database.table FORMAT CSV" < 文件路径以及文件名称

常用sql命令

#查看数据库。注意:在对数据表操作的时候(新建表或查询),如果不指定数据库名的话 会对default库进行操作

show databases; 

#查看版本信息

select version();                     

#查看当前使用的数据库

select currentDatabase();

#查看数据库用的引擎

show create database db_name;    

create/drop database db_name;

#切换数据库

use db_name;

#退出clickhouse命令行

quit/exit;    



#列出数据库中所有表

show tables;

#查看表结构

desc table_name;

#删除表

drop table if exists table_name;

#改变表结构

alter table [database.]table add|drop|clear|comment|modify column ...

#添加列

alter table tb1 add column age UInt32 default 0;

#删除列

drop column [if exists] 列名;

#删除user表中出生日期在2000-09-19之前的数据

alter table user delete where bornDate<='2000-09-19 00:00:00';

#清空表数据

truncate table table_name;

select * from table_name where ...;

猜你喜欢

转载自blog.csdn.net/2301_76664379/article/details/142260876