PostgreSQL常用命令

PostgreSQL常用命令,第1张

概述(1)psql 连接数据库 引用 ./psql -U username -d dbname 列举数据库 引用 psql> \l 列举表 引用 psql> \dt 执行SQL文件 引用 psql> \i test.sql 查看执行时间 引用 psql> \timing psql> select * from tablename; 查看表结构 引用 psql> \d tablename 切换数据库 引 (1)psql

连接数据库
引用 ./psql -U username -d dbname
列举数据库
引用 psql> \l
列举表
引用 psql> \dt
执行sql文件
引用 psql> \i test.sql
查看执行时间
引用 psql> \timing
psql> select * from tablename;
查看表结构
引用 psql> \d tablename
切换数据库
引用 psql> \c dbname
查看帮助
引用 psql> \?
退出 psql
引用 psql> \q

(2)pg_dump

备份表:
引用 ./pg_dump -U username -h hostaddress -t tablename dbname > filename ;
备份多个表:
引用 ./pg_dump -U username -h hostaddress -t tablenameA -t tablenameB dbname > filename ;
备份数据库:
引用 ./pg_dump -U username -h hostaddress dbname > filename ; --默认导出schema和数据copY文
./pg_dump -U username -h hostaddress --data-only dbname > filename ; --只导出数据
./pg_dump -U username -h hostaddress --inserts dbname > filename ; --数据INSERT文
./pg_dump -U username -h hostaddress --column-inserts dbname > filename ; --带字段名的数据INSERT文
恢复数据库:
引用 ./psql -U username -h hostaddress -d dbname < filename ;

文本文件模式:
引用 Backup: $ pg_dump -U {user-name} {source_db} -f {dumpfilename.sql}
Restore: $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.sql}
tar.gz文件模式:
引用 Backup: $ pg_dump -U {user-name} {source_db} -F tar -f {dumpfilename.tar.gz}
Restore: $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.tar.gz}

(3)copY

导出表到默认输出STDOUT:
引用 psql> copY tablename TO STDOUT;
导出表到sql文件:
引用 psql> copY tablename TO '/home/tablename.sql';
指定导出间隔符,默认是 \t ,这里为 | :
引用 psql> copY tablename TO STDOUT DEliMITER '|';
导出指定字段的数据:
引用 psql> copY tablename (name,email) TO STDOUT;
导出为CSV格式:
引用 psql> copY tablename (name,email) TO '/home/tablename.csv' CSV header;
把SELECT文结果导出到CSV:
引用 copY (select * from tablename) TO '/tmp/output.csv' DEliMITER ','

通过psql实现:
引用 psql dbname -c "select * from tablename" -A -F,| sed '$d' > /tmp/output.csv
引用 psql dbname -f /usr/local/src/myselect.sql -A -F,| sed '$d' > /tmp/output.csv

从文件导入数据:
引用 psql> copY tablename FROM '/home/tablename.sql';
导入文件数据,指定间隔符为 | :
引用 psql> copY tablename FROM '/home/tablename.sql' DEliMITER |;

(4)其他

设置编码:
引用 psql> CREATE DATABASE new_my_db with template=template0 enCoding='UTF8' lc_collate='ja_JP.UTF-8' lc_ctype='ja_JP.UTF-8';

创建一个只读user
引用 CREATE RolE xxx LOGIN PASSWORD 'yyy'; GRANT CONNECT ON DATABASE vl60_acct_rensn TO xxx; GRANT USAGE ON SCHEMA public TO xxx; GRANT SELECT ON cmn_account TO xxx; GRANT SELECT ON paramsetting TO xxx; GRANT SELECT ON cmn_mailaccount TO xxx; GRANT SELECT ON log_mailaccount TO xxx; SELECT 'GRANT SELECT ON ' || relname || ' TO xxx;' FROM pg_class JOIN pg_namespace ON pg_namespace.oID = pg_class.relnamespace WHERE nspname = 'public' AND relkind IN ('r','v') 总结

以上是内存溢出为你收集整理的PostgreSQL常用命令全部内容,希望文章能够帮你解决PostgreSQL常用命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1183031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存