Skip to content

Instantly share code, notes, and snippets.

@chensoren
Last active October 19, 2016 07:33
Show Gist options
  • Save chensoren/8049030 to your computer and use it in GitHub Desktop.
Save chensoren/8049030 to your computer and use it in GitHub Desktop.
Debian下postgresql服务

Debian下启动postgresql服务

/usr/lib/postgresql/8.4/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

登录数据库

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

使用homebrew安装后使用下面用户登录

psql postgres

创建数据库用户dbuser

CREATE USER dbuser WITH PASSWORD 'password';

在shell命令行下,直接创建数据库

sudo -u postgres createdb -O dbuser exampledb

创建用户数据库

CREATE DATABASE exampledb OWNER dbuser;

删除数据库

DROP DATABASE dbname;

授权

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

备份数据库

备份单独数据库: pg_dump -U user_name -h remote_host -p remote_port name_of_database > name_of_backup_file

恢复备份的数据库: psql empty_database < backup_file

格式化输出查询结果, 相当于mysql的\G

\x on

\x auto

\x off

其它控制命令

  • \h:查看SQL命令的解释,比如\h select。
  • ?:查看psql命令列表。
  • \l:列出所有数据库。
  • \c [database_name]:连接其他数据库。
  • \d:列出当前数据库的所有表格。
  • \d [table_name]:列出某一张表格的结构。
  • \du:列出所有用户。
  • \e:打开文本编辑器。
  • \conninfo:列出当前数据库和连接的信息。

数据库操作

创建新表 CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE);

插入数据 INSERT INTO usertbl(name, signupdate) VALUES('张三', '2013-12-22');

选择记录 SELECT * FROM user_tbl;

更新数据 UPDATE user_tbl set name = '李四' WHERE name = '张三';

删除记录 DELETE FROM user_tbl WHERE name = '李四' ;

添加栏位 ALTER TABLE user_tbl ADD email VARCHAR(40);

更新结构 ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL;

更名栏位 ALTER TABLE usertbl RENAME COLUMN signupdate TO signup;

删除栏位 ALTER TABLE user_tbl DROP COLUMN email;

表格更名 ALTER TABLE usertbl RENAME TO backuptbl;

删除表格 DROP TABLE IF EXISTS backup_tbl;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment