Ubuntu安装
登录到root用户(非root用户安装,启动psql会报错,无法连接)
sudo apt-get install postgresql
卸载
sudo apt-get --purge remove postgresql*
初始化数据库
service postgresql initdb
启动数据库
service postgresql start
命令行操作
进入命令行终端:
sudo -u postgres psql
用户postgres
是初始建立的用户,即切换到postgres
操作数据库
使用其他用户进入命令行
psql -U username -b database -h localhost
# 除了端口不是必须
退出命令行:
\q
查看所有用户:
foo=#\du
新建数据库:
CREATE DATABASE newdatabase;
新建用户:
CREATE USER new_user;
赋予权限:
GRANT ALL PRIVILEGES ON DATABASE newdatabase to "new_user";
设定密码,一定要有单引号'括起来密码:
ALTER USER new_user PASSWORD 'password';
赋予数据库权限:
AlTER USER new_user CREATEDB;
查看所有数据库:
\l
切换数据库:
\c database
列出当前数据库所有表
\d
查看指定表的所有字段
\d tablename
PostgreSQL与python交互
先安装psycopg2-binary,不是psycopg2
import psycopg2
connection = psygcopg2.connect(dbname='mymdb', host='127.0.0.1', port='5432', user='mymdb', password='xxx')
在Django中使用postgresql报错:
django.db.utils.OperationalError: FATAL: Peer authentication failed for user "xxx"
原因:没有填host
在settings.py
中的配置,也是在Django中的默认设定
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'database name',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': 5432
}
k
网友评论