PostgreSQL 数据库 安装

 1、官网下载

  • 起源与发展:PostgreSQL最初起源于加州大学伯克利分校的Postgres项目,该项目始于1986年,并一直演进到1994年。在1995年,Postgres项目增加了SQL翻译程序,并更名为Postgres95。随后,在1996年,Postgres95经过较大改动后,以PostgreSQL 6.0版发布。
  • 功能与特性:PostgreSQL支持大部分的SQL标准,并提供了许多其他现代数据库特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。
  1. 开源性:PostgreSQL是开源的,这意味着任何人都可以免费使用、修改和分发它。这为其赢得了广泛的用户群体和活跃的社区支持。
  2. 功能强大:PostgreSQL支持多种数据类型,包括整型、浮点型、日期型、文本型、数组等,并支持复杂的查询、事务处理和触发器等功能。这使得PostgreSQL适用于各种复杂的应用场景。
  3. 可扩展性:PostgreSQL支持插件和扩展,用户可以通过自定义插件来增加额外的功能,以满足不同的需求。例如,PostGIS就是PostgreSQL的一个扩展,用于支持空间数据的存储和处理。
  4. 安全性:PostgreSQL提供了多种安全功能,包括用户认证、权限控制、SSL加密等,以保护数据的安全性。
  5. 兼容性好:PostgreSQL不仅支持ANSI SQL标准,还兼容许多其他数据库系统的语法和特性,这使得用户能够轻松地将其他数据库系统的应用迁移到PostgreSQL上。
  6. 可定制性强:PostgreSQL提供了丰富的参数和选项,用户可以根据需求进行调整和优化,以提高系统的性能和稳定性。

地址:

PostgreSQL: The world's most advanced open source database

 

2、windows安装

3、连接验证

命令行链接

  • C:\Program Files\PostgreSQL\15\bin>:这是命令行的当前工作目录,它指向了 PostgreSQL 15 版本安装目录下的 bin 子目录。这个目录包含了 PostgreSQL 的可执行文件,包括 psql(PostgreSQL 的命令行界面工具)。然而,实际上你不需要在这个目录下执行 psql 命令,因为 psql 应该已经被添加到了系统的 PATH 环境变量中,这样你就可以从任何目录通过命令行调用它。不过,即使你不在这个目录下,命令本身也是有效的。

  • psql:这是 PostgreSQL 提供的命令行工具,用于与 PostgreSQL 数据库服务器进行交互。你可以使用它来执行 SQL 命令、查询数据库、管理数据库对象等。

  • -h localhost:这个选项指定了数据库服务器的主机名。在这个例子中,localhost 表示数据库服务器运行在本机上。你也可以使用 IP 地址(如 127.0.0.1)来代替 localhost

  • -p 5432:这个选项指定了数据库服务器监听的端口号。PostgreSQL 的默认端口号是 5432,所以这个选项是可选的(除非你的 PostgreSQL 实例被配置为监听不同的端口)。

  • -U postgres:这个选项指定了用于连接数据库的用户名。在这个例子中,用户名是 postgres,它是 PostgreSQL 安装时创建的一个默认超级用户。

  • -W:这个选项告诉 psql 在连接数据库时提示用户输入密码。如果省略此选项,并且用户的密码被配置为在 .pgpass 文件中或环境变量中可用,则 psql 将不会提示输入密码。但是,出于安全考虑,通常建议显式使用 -W 选项。

psql -U postgres -d postgres

 


C:\Program Files\PostgreSQL\15\bin>psql -h localhost -p 5432 -Upostgres -W
口令:
psql (15.7)
输入 "help" 来获取帮助信息.postgres=# \l数据库列表名称    |  拥有者  | 字元编码 |            校对规则            |             Ctype              | ICU Locale | Locale Provider |       存取权限
-----------+----------+----------+--------------------------------+--------------------------------+------------+-----------------+-----------------------postgres  | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            |template0 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            | =c/postgres          +|          |          |                                |                                |            |                 | postgres=CTc/postgrestemplate1 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            | =c/postgres          +|          |          |                                |                                |            |                 | postgres=CTc/postgres
(3 行记录)postgres=# \dt
没有找到任何关系.
postgres=# \c
口令:
您现在已经连接到数据库 "postgres",用户 "postgres".
postgres=#postgres=# \?
一般性\copyright             显示PostgreSQL的使用和发行许可条款\crosstabview [COLUMNS] execute query and display result in crosstab\errverbose            以最冗长的形式显示最近的错误消息\g [(OPTIONS)] [FILE]  execute query (and send result to file or |pipe);\g with no arguments is equivalent to a semicolon\gdesc                 描述查询结果,而不执行它\gexec                 执行策略,然后执行其结果中的每个值\gset [PREFIX]         execute query and store result in psql variables\gx [(OPTIONS)] [FILE] 就像\g,但强制扩展输出模式\q                     退出 psql\watch [SEC]           每隔SEC秒执行一次查询帮助\? [commands]          显示反斜线命令的帮助\? options             显示 psql 命令行选项的帮助\? variables           显示特殊变量的帮助\h [NAME]              SQL命令语法上的说明,用*显示全部命令的语法说明查询缓存区\e [FILE] [LINE]       使用外部编辑器编辑查询缓存区(或文件)\ef [FUNCNAME [LINE]]  使用外部编辑器编辑函数定义\ev [VIEWNAME [LINE]]  用外部编辑器编辑视图定义\p                     显示查询缓存区的内容\r                     重置(清除)查询缓存区\w 文件                将查询缓存区的内容写入文件输入/输出\copy ...              执行 SQL COPY,将数据流发送到客户端主机\echo [-n] [STRING]    将字符串写到标准输出(-n表示没有换行符)\i 文件                从文件中执行命令\ir FILE               与 \i类似, 但是相对于当前脚本的位置\o [文件]              将全部查询结果写入文件或 |管道\qecho [-n] [STRING]   将字符串写入\o输出流(-n表示无换行)\warn [-n] [STRING]    将字符串写入标准错误(-n 表示无换行)条件\if EXPR               开始条件块\elif EXPR             当前条件块内的备选方案\else                  当前条件块内的最终备选方案\endif                 条件块的结尾资讯性(选项: S = 显示系统对象, + = 其余的详细信息)\d[S+]                 列出表,视图和序列\d[S+]  名称           描述表,视图,序列,或索引\da[S]  [模式]         列出聚合函数\dA[+]  [模式]         列出访问方法\dAc[+] [AMPTRN [TYPEPTRN]]  列出运算符\dAf[+] [AMPTRN [TYPEPTRN]]  列出运算符集合\dAo[+] [AMPTRN [OPFPTRN]]   列出运算符集合\dAp[+] [AMPTRN [OPFPTRN]]   列出运算符集合所支持的功能\db[+]  [模式]         列出表空间\dc[S+] [模式]         列表转换\dconfig[+] [PATTERN]  list configuration parameters\dC[+]  [模式]         列出类型强制转换\dd[S]  [模式]         显示没有在别处显示的对象描述\dD[S+] [模式]         列出共同值域\ddp    [模式]         列出默认权限\dE[S+] [模式]         列出引用表\des[+] [模式]         列出外部服务器\det[+] [模式]         列出引用表\deu[+] [模式]         列出用户映射\dew[+] [模式]         列出外部数据封装器\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]列出 [only agg/normal/procedure/trigger/window] 函数\dF[+]  [模式]         列出文本搜索配置\dFd[+] [模式]         列出文本搜索字典\dFp[+] [模式]         列出文本搜索解析器\dFt[+] [模式]         列出文本搜索模版\dg[S+] [模式]         列出角色\di[S+] [模式]         列出索引\dl[+]                 list large objects, same as \lo_list\dL[S+] [模式]         列出所有过程语言\dm[S+] [模式]         列出所有物化视图\dn[S+] [模式]         列出所有模式\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]列出运算符\dO[S+] [模式]         列出所有校对规则\dp     [模式]         列出表,视图和序列的访问权限\dP[itn+] [PATTERN]    列出[仅表/索引]分区关系[n=nested]\drds [ROLEPTRN [DBPTRN]] list per-database role settings\dRp[+] [模式]         列出复制发布\dRs[+] [模式]         列出复制订阅\ds[S+] [模式]         列出序列\dt[S+] [模式]         列出表\dT[S+] [模式]         列出数据类型\du[S+] [模式]         列出角色\dv[S+] [模式]         列出视图\dx[+]  [模式]         列出扩展\dX     [PATTERN]      列出扩展统计信息\dy[+]  [PATTERN]      列出所有事件触发器\l[+]   [模式]         列出所有数据库\sf[+]  FUNCNAME       显示一个函数的定义\sv[+]  VIEWNAME       显示一个视图的定义\z      [模式]         和\dp的功能相同大对象\lo_export LOBOID FILE write large object to file\lo_import FILE [COMMENT]read large object from file\lo_list[+]            list large objects\lo_unlink LOBOID      delete a large object格式化\a                     在非对齐模式和对齐模式之间切换\C [字符串]            设置表的标题,或如果没有的标题就取消\f [字符串]            显示或设定非对齐模式查询输出的字段分隔符\H                     切换HTML输出模式 (目前是 关闭)\pset [NAME [VALUE]]   设置表输出选项(border|columns|csv_fieldsep|expanded|fieldsep|fieldsep_zero|footer|format|linestyle|null|numericlocale|pager|pager_min_lines|recordsep|recordsep_zero|tableattr|title|tuples_only|unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle\t [开|关]             只显示记录 (目前是关闭)\T [字符串]            设置HTML <表格>标签属性, 或者如果没有的话取消设置\x [on|off|auto]       切换扩展输出模式(目前是 关闭)连接\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}连接到新数据库(当前是"postgres")\conninfo              显示当前连接的相关信息\encoding [编码名称]   显示或设定客户端编码\password [USERNAME]   安全地为用户更改口令操作系统\cd [目录]             更改目前的工作目录\getenv PSQLVAR ENVVAR fetch environment variable\setenv NAME [VALUE]   设置或清空环境变量\timing [开|关]        切换命令计时开关 (目前是关闭)\! [命令]              在 shell中执行命令或启动一个交互式shell变量\prompt [文本] 名称    提示用户设定内部变量\set [名称 [值数]]     设定内部变量,若无参数则列出全部变量\unset 名称            清空(删除)内部变量

 navicat连接

dbeaver连接

创建库、表

要使用 PostgreSQL 的 psql 工具创建一个数据库并在其中创建一个表,您可以按照以下步骤进行操作:1. **创建数据库**:- 打开终端,并使用以下命令连接到 PostgreSQL 数据库:```psql -U postgres -d postgres```这将连接到 PostgreSQL 数据库的默认数据库 "postgres"。您需要将 "your_username" 替换为您的实际用户名。- 创建一个新的数据库,例如名为 "mydatabase":```CREATE DATABASE mydatabase;```- 退出 psql 命令行界面:```\q```2. **连接到新创建的数据库**:- 使用以下命令连接到新创建的数据库 "mydatabase":```psql -U postgres -d mydatabase```3. **创建表**:- 在新的数据库中,您可以使用 SQL 命令创建表。以下是一个示例创建名为 "users" 的表的 SQL 命令:```sqlCREATE TABLE users (id SERIAL PRIMARY KEY,name VARCHAR(50),age INT);```- 运行上述 SQL 命令以创建名为 "users" 的表。4. **插入数据**:- 您可以使用 INSERT 语句向表中插入数据。以下是一个示例插入数据的 SQL 命令:```sqlINSERT INTO users (name, age) VALUES ('Alice', 30);INSERT INTO users (name, age) VALUES ('Bob', 25);```- 运行上述 SQL 命令以向 "users" 表中插入数据。5. **查询数据**:- 您可以使用 SELECT 语句从表中检索数据。例如,要检索所有用户的数据,可以运行以下 SQL 命令:```sqlSELECT * FROM users;```

python读取

要使用 `psycopg2` 模块,您需要通过 pip 安装它。您可以在终端或命令提示符中运行以下命令来安装 `psycopg2`:```bash
pip install psycopg2
```如果您使用的是 Python 3.4 或更高版本,您还可以安装 `psycopg2-binary`,它是 `psycopg2` 的二进制包,安装更简便:```bash
pip install psycopg2-binary
```安装完成后,您就可以在 Python 中导入 `psycopg2` 模块并与 PostgreSQL 数据库进行交互了。如果您遇到任何问题或需要进一步帮助,请随时告诉我。

 

import psycopg2# 连接到 PostgreSQL 数据库
conn = psycopg2.connect(dbname="mydatabase",user="postgres",password="123456",host="localhost",port="5432"
)# 创建一个游标对象,用于执行 SQL 命令
cur = conn.cursor()# 创建表
# cur.execute("""
#     CREATE TABLE IF NOT EXISTS users (
#         id SERIAL PRIMARY KEY,
#         name VARCHAR(50),
#         age INT
#     )
# """)# 插入数据
# cur.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('Alice', 30))
# cur.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('Bob', 25))# 提交更改
conn.commit()# 查询数据
cur.execute("SELECT * FROM users")
rows = cur.fetchall()# 打印查询结果
for row in rows:print(row)# 关闭游标和连接
cur.close()
conn.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:core文件无法生成排查步骤

1、进程的RLIMIT_CORE或RLIMIT_SIZE被设置为0。使用getrlimit和ulimit检查修改。 使用ulimit -a 命令检查是否开启core文件生成限制 如果发现-c后面的结果是0&#xff0c;就临时添加环境变量ulimit -c unlimited&#xff0c;之后在启动程序观察是否有core生成&#xff0c;如果…

Linux网络:传输层协议TCP(一)

目录 一、TCP协议的定义 二、确认应答机制ACK 三、序号、确认序号 四、超时重传机制 一、TCP协议的定义 TCP 全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传 输进行一个详细的控制; TCP 协议段格式 • 源/目的端口号: 表示数据…

解决Windows 11更新错误0x800f081f的详细指南

在尝试更新Windows 11时&#xff0c;用户可能会遇到各种错误代码&#xff0c;其中之一是0x800f081f。这个错误通常与Windows更新组件或系统文件的损坏有关。本文将提供解决这一特定错误的详细步骤&#xff0c;并解释可能的原因。 错误代码0x800f081f概述 错误代码0x800f081f指…

pythonGame-实现简单的贪食蛇游戏

通过python简单复现贪食蛇游戏。 使用到的库函数&#xff1a; import pygame import time import random 游戏源码&#xff1a; import pygame import time import randompygame.init()white (255, 255, 255) yellow (255, 255, 102) black (0, 0, 0) red (213, 50, 80…

新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题

苹果CMS2022新版海螺影视主题M3.1版本&#xff0c;这个主题我挺喜欢的&#xff0c;之前也有朋友给我提供过原版主题&#xff0c;一直想要破解但是后来找了几个SG11解密的大哥都表示解密需要大几百大洋&#xff0c;所以一直被搁置了。这个版本是完全解密的&#xff0c;无需SG11加…

学习日记:数据类型2

目录 1.转义字符 2.隐式类型转换 2.1 强制类型转换 2.2 不同类型间赋值 3.运算符 表达式 3.1 算术运算符 3.2 算术运算优先级 3.3 赋值运算 3.3.1 不同类型间混合赋值 3.4 逗号运算 4.生成随机数 5. 每日一练 1.转义字符 \n 表示换行 \t …

基于JSP、java、Tomcat三者的项目实战--校园交易网(1)-项目搭建(前期准备工作)

这是项目的初始页面 接下来我先写下我的初始项目搭建 技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 首先我们打开页面&#xff0c;准备搭建项目的初始准备 1.New Project 2.随后点击Next&#xff0c;勾…

Easy es问题总结

官网教程&#xff1a;https://www.easy-es.cn/pages/ac41f0/#settings 一 测试项目 1 pom <dependencies><!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><dependency><groupId>org.springframework.boot</groupId><artifa…

【Golang 面试基础题】每日 5 题(七)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

脊髓小伙伴必看!超全维生素补给站,助力你的每一天活力满满✨

今天咱们来聊聊一个既严肃又暖心的话题——脊髓损伤后的维生素大补帖&#xff01;&#x1f31f; 记住&#xff0c;身体是革命的本钱&#xff0c;补充对的维生素&#xff0c;就是给自己的小宇宙加油哦&#xff01;&#x1f680; 首先&#xff0c;维生素D小太阳&#x1f31e;来啦…

Nestjs使用Redis的最佳实践

前几天在项目中有用到Redis JWT实现服务端对token的主动删除(退出登录功能)。故此介绍下如何在Nestjs中使用Redis&#xff0c;并做下总结。 知识准备 了解Redis - 网上很多简介。了解Nestjs如何使用jwt生成token - 可移步看下我之前的文章 效果展示 一、mac安装与使用 示…

php--序列化与反序列化

&#x1f3bc;个人主页&#xff1a;金灰 &#x1f60e;作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持&#xff01;❤️ &#x1f34a;易编橙终身成长社群&#…

机器学习 | 计算分类算法的ROC和AUC曲线以随机森林为例

受试者工作特征&#xff08;ROC&#xff09;曲线和曲线下面积&#xff08;AUC&#xff09;是常用的分类算法评价指标&#xff0c;本文将讨论如何计算随机森林分类器的ROC 和 AUC。 ROC 和 AUC是量化二分类区分阳性和阴性类别能力的度量。ROC曲线是针对不同分类阈值的真阳性率&…

LabVIEW座舱照明测控系统

用LabVIEW开发飞机座舱照明测控系统。系统通过集成可靠的硬件与软件技术&#xff0c;提高了测试的效率和自动化水平&#xff0c;确保了飞行安全性和舒适性。体现了系统的设计思路、主要组成部分、工作原理及实际应用效果。 项目背景 飞机座舱照明系统是航空电子系统中至关重要…

【Spring Boot教程:从入门到精通】掌握Spring Boot开发技巧与窍门(三)-配置git环境和项目创建

主要介绍了如何创建一个Springboot项目以及运行Springboot项目访问内部的html页面&#xff01;&#xff01;&#xff01; 文章目录 前言 配置git环境 创建项目 ​编辑 在SpringBoot中解决跨域问题 配置Vue 安装Nodejs 安装vue/cli 启动vue自带的图形化项目管理界面 总结 前言 …

谷粒商城实战笔记-63-商品服务-API-品牌管理-OSS获取服务端签名

文章目录 一&#xff0c;创建第三方服务模块thrid-party1&#xff0c;创建一个名为gulimall-third-party的模块2&#xff0c;nacos上创建third-party命名空间&#xff0c;用来管理这个服务的所有配置3&#xff0c;配置pom文件4&#xff0c;配置文件5&#xff0c;单元测试6&…

oracle登录报“ORA-27101: shared memory realm does not exist”

oracle登录报“ORA-27101: shared memory realm does not exist” 问题&#xff1a; 1、使用ip:1521/服务名方式连库报错" ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory" 2、sqlplus XX/密码 可以登录数据库 …

【Apache Doris】数据副本问题排查指南

【Apache Doris】数据副本问题排查指南 一、问题现象二、问题定位三、问题处理 本文主要分享Doris中数据副本异常的问题现象、问题定位以及如何处理此类问题。 一、问题现象 问题日志 查询报错 Failed to initialize storage reader, tablet{tablet_id}.xxx.xxx问题说明 查…

c++ 内存管理(newdeletedelete[])

因为在c里面新增了类&#xff0c;所以我们在有时候会用malloc来创建类&#xff0c;但是这种创建只是单纯的开辟空间&#xff0c;没有什么默认构造的。同时free也是free的表面&#xff0c;如果类里面带有指针指向堆区的成员变量就会free不干净。 所以我们c增加了new delete和de…

HTML常用的转义字符——怎么在网页中写“<div></div>”?

一、问题描述 如果需要在网页中写“<div></div>”怎么办呢&#xff1f; 使用转义字符 如果直接写“<div></div>”&#xff0c;编译器会把它翻译为块&#xff0c;类似的&#xff0c;其他的标签也是如此&#xff0c;所以如果要在网页中写类似于“<div…