psql的基本使用及权限操作
发布时间:2025-05-22 21:58:34 发布人:远客网络
一、psql的基本使用及权限操作
1、在操作PostgreSQL数据库时,掌握`psql`的基本使用和权限管理是至关重要的。下面,我们将详细介绍`psql`的基本命令、使用技巧以及如何查看和管理用户权限。
2、首先,我们来看看`psql`的基本命令:
3、`\d`:展示当前数据库中的所有表。
4、`\i文件名`:执行文件中的SQL语句。
5、在使用`psql`时,了解一些技巧可以提高效率:
6、控制事务提交:`psql`默认在执行DML(数据操作语言)后自动提交事务。若需手动控制,可执行`BEGIN;`开始事务,然后在操作完成后执行`COMMIT`或`ROLLBACK`。
7、切换用户:在Linux环境下登录`PostgreSQL`时,务必先切换用户。可以通过`su- postgres`切换到`postgres`用户,然后使用`psql-d数据库名 postgres`登录指定数据库。
8、创建数据库时,确保使用双引号:`create database"数据库名";`。
9、使用`select datname from pg_database;`查看当前所有数据库。
10、使用`select usename from pg_user;`查看当前所有用户。
11、使用`create user用户名 with superuser createdb createrole password'密码';`创建具有超级用户权限的用户。
12、创建表:使用`create table表名(列名列类型,...);`。
13、插入数据:使用`insert into表名(列名列表) values(值列表);`。
14、使用`to_date`和`to_timestamp`函数转换日期时间。
15、`psql`默认使用安装数据库时的用户登录,端口默认为5432,连接数据库默认为用户名`db`。如果使用默认用户登录,将自动拥有超级用户权限,无需密码,但首次登录可能因未创建该用户名的数据库而失败。
16、创建用户时,可指定密码和`LOGIN`权限。
17、权限授予和收回可以通过`GRANT`和`REVOKE`语句实现。
18、修改用户属性和配置`pg_hba.conf`文件以控制访问。
19、使用SQL查询查看用户权限,如系统权限、表权限等。
20、通过掌握这些`psql`命令和权限管理技巧,您可以更有效地管理和操作`PostgreSQL`数据库。
二、为什么postgresql新建数据库,失败
cd Pledgee/再如:cd End-Position/
再如::~/snorkel/snorkel/contrib/fonduer/tutorials/End-Position$ cd data
创建数据库:sd为登陆机器的账号(postgres=#) create database zhiya_key_para_txt_pledge_num_unlimit owner sd;
pg_dump用于备份postgresql数据库,它可以在数据库运行时使用,pg_dump不会阻塞其他的用户访问数据库。
将数据库的东西转存到文件里:相当于copy数据库
pg_dump end_position_key_para> end_position_para_2018-03-29.dmp
之前的文件转到新建的数据库里:相当于恢复外部数据到数据库里
psql zhiya_key_para_txt_pledge_num_unlimit< end_position_para_2018-03-29.dmp
mv filename/.将文件移动到当前路径
psql zhiya_key_para_txt进入到数据库中的表zhiya_key_para_txt
zhiya_key_para_txt=> \dt查看该库中的所有表
zhiya_key_para_txt=> select count(*) from candidate;
zhiya_key_para_txt=> select count(*) from gold_label;
zhiya_key_para_txt=> \q退出psql
3、更新数据库中标错的质押人、质权人:
zhiya_key_para_txt=> select* from gold_label;
zhiya_key_para_txt=> select* from gold_label where candidate_id='33335';
zhiya_key_para_txt=> update gold_label set value=1 where candidate_id='33335';
zhiya_key_para_txt=> select* from gold_label where candidate_id='33335';
三、psql -h 连接和本地连接区别
1、psql是PostgreSQL自带的一个连接相关-d:指定要连接的数据库-U:连接时使用的用户-h:要连接的主机地址(IP)-p:连接的端口号。
2、本地连接(localconnection)是指电脑中不同网络创建的链接,当创建家庭或小型办公网络时,运行Windows的计算机将连接到局域网(LAN)安装Windows时,将检测网络适配器,而且将创建本地连接宽带连接在基本电子和电子通讯是描述续号或者是电子线路包含或者是能够同时处理较宽的频率范围,它是一种相对的描述方式,频率的范围愈大,也就是频宽愈高时,传送资料相对增加。
3、psql常用用法总结,连接数据库:su数据库账号下(创建数据默认创建了数据库账号),执行/u01/pgsql_20190102/bin/psqlpostgres-p3021。