📌  相关文章
📜  PostgreSQL - 是在本地运行并接受 unix 域套接字 tmp .s.pgsql.5432 上的连接的服务器 (1)

📅  最后修改于: 2023-12-03 15:33:44.613000             🧑  作者: Mango

PostgreSQL - 是在本地运行并接受 unix 域套接字 tmp .s.pgsql.5432 上的连接的服务器

PostgreSQL是一种开源的关系型数据库管理系统,它可以在各种操作系统下运行,并且支持 ANSI SQL 规范。PostgreSQL 的最新版本为 14.0,它在数据安全性、灵活性、可扩展性等方面都有着出色的表现,是企业级应用中最常用的数据库之一。

连接 PostgreSQL 服务器

PostgreSQL 服务器使用 Unix domain socket 监听在 /tmp/.s.PGSQL.5432 上。可以使用以下命令连接到本地运行的 PostgreSQL 服务器:

psql -h /tmp/ -p 5432 -U postgres

其中:

  • -h:指定服务器所在的主机名或 Unix domain socket 监听路径
  • -p:指定服务器监听的端口号
  • -U:指定连接到服务器的用户名
通过 psql 命令行管理 PostgreSQL 服务器

连接到 PostgreSQL 服务器后,可以使用 psql 命令行来管理数据库。一些常用的命令如下:

  • \l:列出所有数据库
  • \c dbname:连接到指定的数据库
  • \dn:列出所有模式
  • \dt:列出所有表
  • \d+ tablename:显示指定表的详细信息
  • \q:退出 psql 命令行
在代码中连接 PostgreSQL 服务器

除了命令行外,也可以在代码中使用各种编程语言连接到 PostgreSQL 服务器。以下是使用 Python 连接 PostgreSQL 服务器的示例代码:

import psycopg2

conn = psycopg2.connect(database="mydatabase", user="postgres", password="mypassword", host="/tmp/")
cur = conn.cursor()

cur.execute("SELECT * FROM mytable")

rows = cur.fetchall()
for row in rows:
    print(row)

cur.close()
conn.close()

其中:

  • psycopg2 是 Python 下连接 PostgreSQL 的第三方库
  • conn 是连接对象,通过 psycopg2.connect() 方法创建
  • cur 是游标对象,通过 conn.cursor() 方法创建
  • cur.execute() 可以执行任何 SQL 语句
  • cur.fetchall() 返回所有查询结果
  • cur.close()conn.close() 分别关闭游标和连接
总结

PostgreSQL 是一种强大的关系型数据库管理系统,它支持 ANSI SQL 规范,并且在数据安全性、灵活性、可扩展性等方面都有着出色的表现。我们可以通过 psql 命令行或各种编程语言来连接和管理 PostgreSQL 服务器。