将PL/pgSQL输出从PostgreSQL数据库保存到CSV文件的最简单方法是什么?
我正在使用PostgreSQL 8.4和pgAdmin III以及PSQL插件来运行查询.
我正在设置我的PostgreSQL 9.1.我对PostgreSQL无能为力:不能createdb,不能createuser; 所有操作都返回错误消息
Fatal: role h9uest does not exist
Run Code Online (Sandbox Code Playgroud)
h9uest是我的帐户名,我sudo apt-get install在这个帐户下的PostgreSQL 9.1.
该root帐户仍然存在类似的错误.
如何编写从CSV文件导入数据并填充表的存储过程?
我需要检索表中的所有行,其中2列组合都是不同的.因此,我希望所有在同一天没有任何其他销售的销售以相同的价格出售.基于日期和价格的唯一销售将更新为活动状态.
所以我在想:
UPDATE sales
SET status = 'ACTIVE'
WHERE id IN (SELECT DISTINCT (saleprice, saledate), id, count(id)
FROM sales
HAVING count = 1)
Run Code Online (Sandbox Code Playgroud)
但是我的大脑比那更远了.
我是PostgreSQL的初学者.
我想从Postgres的查询编辑器连接到另一个数据库 - 比如USEMySQL或MS SQL Server 的命令.
我\c databasename通过搜索Internet 找到了,但它只在psql上运行.当我从PostgreSQL查询编辑器中尝试它时,我收到语法错误.
我必须通过pgscripting更改数据库.有谁知道怎么做?
我试着运行简单的sql命令:
select * from site_adzone;
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
ERROR: permission denied for relation site_adzone
Run Code Online (Sandbox Code Playgroud)
这可能是什么问题?
我也尝试选择其他表并得到同样的问题.我也试过这样做:
GRANT ALL PRIVILEGES ON DATABASE jerry to tom;
Run Code Online (Sandbox Code Playgroud)
但我从控制台得到了这个回应
WARNING: no privileges were granted for "jerry"
Run Code Online (Sandbox Code Playgroud)
你知道什么是错的吗?
我正在使用Python写入postgres数据库:
sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
Run Code Online (Sandbox Code Playgroud)
但由于我的一些行是相同的,我收到以下错误:
psycopg2.IntegrityError: duplicate key value
violates unique constraint "hundred_pkey"
Run Code Online (Sandbox Code Playgroud)
如何编写'INSERT除非此行已存在'SQL语句?
我见过这样的复杂陈述:
IF EXISTS (SELECT * FROM invoices WHERE invoiceid = '12345')
UPDATE invoices SET billed = 'TRUE' WHERE invoiceid = '12345'
ELSE
INSERT INTO invoices (invoiceid, billed) VALUES ('12345', 'TRUE')
END IF
Run Code Online (Sandbox Code Playgroud)
但首先,这对于我需要的东西是否过度,其次,我怎样才能将其中一个作为简单的字符串执行?
当我\dt在psql中执行一个操作时,我只获得当前模式中的表列表(public默认情况下).
如何获取所有模式或特定模式中的所有表的列表?
我在Ubuntu上使用PostgreSQL 8.4.我有一个列的表c1通过cN.列足够宽,选择所有列会导致一行查询结果多次换行.因此,输出难以阅读.
当查询结果只构成几行时,如果我可以查看查询结果以使每行的每列都在一个单独的行上,那将会很方便,例如
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
Run Code Online (Sandbox Code Playgroud)
我在服务器上运行这些查询,我不想安装任何其他软件.是否有psql设置可以让我做那样的事情?
postgresql ×10
psql ×3
csv ×2
sql ×2
distinct ×1
duplicates ×1
grant ×1
privileges ×1
python ×1
sql-insert ×1
sql-update ×1