pgsql基本操作
1. 修改postgresql.conf
postgresql.conf存放位置在/etc/postgresql/9.x/main下,这里的x取决于你安装PostgreSQL的版本号,编辑或添加下面一行,使PostgreSQL可以接受来自任意IP的连接请求。
listen_addresses = '*'
2. 修改pg_hba.conf
#将文件Database administrative 下列中的peer改为trust
#peer(不可信),trust(可信),md5(加密
$sudo nano /etc/postgresql/10/main/pg_hba.conf
#重新加载配置
sudo /etc/init.d/postgresql restart

3.修改PostgreSQL数据库默认用户postgres的密码
3-1 登录PostgreSQL
sudo -u postgres psql
3-2 修改登录PostgreSQL密码
ALTER USER postgres WITH PASSWORD 'postgres';
退出: \q
完成上三项配置后执行sudo service postgresql restart重启PostgreSQL服务后,允许外网访问的配置就算生效了。用户名:postgres 密码:postgres
4、数据库导入导出
导入整个数据库
psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql
or:
pg_restore -h 127.0.0.1 -p 5432 -U postgres -W -d fancy -v ./fangcunback.sql
导出整个数据库
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) >/data/dum.sql
导出某个表
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql
压缩方法
一般用dump导出数据会比较大,推荐使用xz压缩
压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件
xz压缩数据倒数数据库方法
xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)
5、psycopg2安装错误
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev
pip install psycopg2==2.6.2
6、重启服务
/etc/init.d/postgresql restart
7、PostgreSQL设置主键id自增长
PostgreSQL中让主键自增长可先建立一个对应表的sequence
CREATE SEQUENCE test_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
其中START是从数字几开始,INCREMENT BY是一次增长几个数字,NO MINVALUE是没有最小值,NO MAXVALUE是没有最大值;
然后修改表id字段
alter table test alter column id set default nextval('test_id_seq');
也可以在建表的时候使用:
"id" int4 DEFAULT nextval('t_ordercenter_info_history_id_seq'::regclass) NOT NULL
8、django.db.utils.InternalError:(1050,“Table ‘tb_content’ already exists”错误
解决方法
先删掉已生成的文件如:

然后输入:
python manage.py makemigrations --fake
python manage.py migrate --fake
具体效果如下:

最后在执行迁移操作:
python manage.py makemigrations
python manage.py migrate
效果:

外部链接报错no_pg_bha
添加新行:
host all all 0.0.0.0/0 md5


















