以`postgres`超级用户身份连接到现有的PostgreSQL集群并执行SQL命令。
项目描述
pgsu
以PostgreSQL SUPERUSER的身份连接到现有的PostgreSQL集群并执行SQL命令。
psycopg
提供了一个很好的API来与PostgreSQL交互,一旦你为指定的数据库提供了连接参数。然而,如果你的数据库和数据库用户尚未存在,你将需要以SUPERUSER的身份连接到PostgreSQL。
功能
- 自动检测postgres设置,已在
- Ubuntu 22.04 & 通过
apt
安装的PostgreSQL上测试 - Ubuntu 20.04 & PostgreSQL 通过
apt
安装 - Ubuntu 16.04 & PostgreSQL 通过
apt
安装 - Ubuntu 18.04 & PostgreSQL docker 容器
- MacOS 12 和 PostgreSQL 通过
conda
安装 - Windows Server 2019 和 PostgreSQL 通过
conda
安装
- Ubuntu 22.04 & 通过
- 如果可能,使用 psycopg 连接
- 如果必要/可能,可以使用
sudo
变成postgres
UNIX 用户(默认 Ubuntu PostgreSQL 设置)
用法
Python API
from pgsu import PGSU
pgsu = PGSU() # On Ubuntu, this may prompt for sudo password
pgsu.execute("CREATE USER newuser WITH PASSWORD 'newpassword'")
users = pgsu.execute("SELECT usename FROM pg_user WHERE usename='newuser'")
print(users)
该包的主要目的是猜测如何以 postgres 超用户身份连接,您也可以使用 dsn
参数提供部分或全部有关设置的详细信息。以下是默认设置
from pgsu import PGSU
pgsu = PGSU(dsn={
'host': None,
'port': 5432,
'user': 'postgres',
'password': None,
'dbname': 'template1', # Note: you cannot drop databases you are connected to
})
命令行工具
该包还包括一个基本的 pgsu
命令行工具,允许用户以超级用户身份执行 PostgreSQL 命令
$ pgsu "SELECT usename FROM pg_user"
Trying to connect to PostgreSQL...
Executing query: SELECT usename FROM pg_user
[('aiida_qs_leopold',),
('postgres',)]
测试
按以下方式运行测试
pip install -e .[dev]
pytest
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
pgsu-0.3.0.tar.gz (8.2 kB 查看哈希值)
构建分布
pgsu-0.3.0-py3-none-any.whl (8.8 kB 查看哈希值)
关闭
pgsu-0.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51dbb8f2272deacc28f546af442a1411eb260b1da53e11d4f93ea90f2b1acf50 |
|
MD5 | 037d1c709d58db1529e3e0df98192d0a |
|
BLAKE2b-256 | 581d48f83c23a7be0d8bbbab80cb93010ffee0dad2a760d86de3b28470f0b6f9 |
关闭
pgsu-0.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8bb206d02ea6bd8388cb3998e12f1ca9e954a740053b76773a99dc6d55fa23f4 |
|
MD5 | 4078acfc4b2d402356871898ca76cf28 |
|
BLAKE2b-256 | fef03403fae3006cd6c1e64378b7df10d59c114b23a7a90a4b565d8389cb4cb5 |