postgres 登录及常用命令

登陆

输入以下命令,尝试登录psql:

psql -U postgres

报告以下错误:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "postgres"

换成下面这个命令可以:

sudo -u postgres psql

#PostgreSQL默认会创建一个postgres的数据库用户作为数据库的管理员

解决方法参考如下:

https://stackoverflow.com/questions/69676009/psql-error-connection-to-server-on-socket-var-run-postgresql-s-pgsql-5432

https://cloud.tencent.com/developer/ask/sof/107553576

登录命令:

psql -h hostname -p portnumber -U username -d databasename

复制代码
其中:

-h 指定数据库服务器的主机名或IP地址。
-p 指定数据库服务器的端口号。默认端口号为5432。
-U 指定要登录的数据库用户的用户名。
-d 指定要连接的数据库名。

导入SQL脚本 示例:

psql -U postgres -d database -f sqlScript.sql

将sqlScript.sql导入到名为database的数据库中

常用命令

sql 复制代码
# 创建新表 
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;
# 修改数据库的名字
ALTER DATABASE oldName RENAME to newName

其他控制台命令

sql 复制代码
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
	\c 可选参数 dbname [ username ] [ host ] [ port ] eg:
	\c postgres
	或者
	\c postgres username localhost 5432
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
\dn:展示当前数据库下所有schema信息
\q:断开数据库连接
相关推荐
逐米时代1 小时前
智能招聘与人岗匹配:可解释匹配让录用依据有迹可循
大数据·数据库·人工智能
承渊政道1 小时前
KES专业技能包发布:覆盖数据库开发、迁移与运维全流程
运维·数据库·gitee·数据库开发·金仓数据库
IvorySQL1 小时前
PostgreSQL 日报| RI 快速路径并发读取缺陷(8 月 13 日)
数据库·postgresql
highreport2 小时前
HighReport报表工具定时调度和邮件定时发送
运维·服务器·数据库
01_ice2 小时前
数据库基础
数据库
deepdata_cn2 小时前
向量数据库是非结构化数据的AI检索底座
数据库·人工智能
梁辰兴2 小时前
软件工程:数据库设计
数据库·软件工程·数据库设计·逻辑设计·概念设计·梁辰兴·物理设计
10mAh3 小时前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
J_bean3 小时前
剖析 MySQL InnoDB 共享行锁 (S) & 排他行锁 (X)
数据库·mysql·共享行锁·s lock·排他行锁·x lock
霸道流氓气质3 小时前
RedLock:Redis 分布式锁的高可用方案
数据库·redis·分布式