DRYな備忘録

Don't Repeat Yourself.

postgresql

PostgreSQLのJSONデータ型っていうのをためしてみる

JOSNデータ型とは 8.14. JSONデータ型 "このようなデータは、text型として格納することもできますが、" "各種JSON固有の関数と演算子もあります" "JSONデータ型にはjson型とjsonb型という2種類" " jsonb型の重要な利点はインデックスをサポートしていること…

【Postgres】function uuid_generate_v4() does not existとしかられる

問題 CREATE TABLE文を実行すると、(書いてて思ったけど、UUID v4、255byteもなくていいな) CREATE TABLE "users" ( "id" varchar(255) DEFAULT uuid_generate_v4(), "name" text, PRIMARY KEY ("id") ) 以下のようにしかられる ERROR: function uuid_gene…

MacでPostgresの停止

いろいろやったけど結局これでした launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist ログ % pg_ctl stop pg_ctl: no database directory specified and environment variable PGDATA unset oh... % pg_ctl stop -D /usr/local/var/…

RedshiftのCOPYコマンドが失敗する

問題 docs.aws.amazon.com S3からRedshiftにレコードをコピー(insert)できるコマンドCOPYが便利なので COPY users FROM 's3://my_bucket/backup.users.csv' CREDENTIALS 'aws_access_key_id=xxx以下略' CSV とかすると ERROR: Load into table 'users' fai…

【PostgreSQL】今何時だっけ?って思ったとき

postgres serverにログインしてて「あれ?今何時だっけ?」って思うことが多いので、以下のSQLを実行する SELECT current_timestamp; now ------------------------------- 2015-10-19 16:44:06.526301+09 (1 row) ありがとう DRY

Postgresがcould not connect to server: No such file or directoryって言う

問題 % psql -l psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 思い当たること(ちがった) Macのグラボの調子が悪いかなんかでGen…

gormでcomposite primary keyを使いたいのだが

なんかこうするっぽい type Foo struct { Bar string `gorm:"primary_key"` Baz int `gorm:"primary_key"` } で、gorm.DBのAutoMigrateかCreateTableを叩けばいいわけで、LogMode(true)で発行されてるSQLを確認すると CREATE TABLE "foos" ( "bar" varchar(2…

【psql】ERROR: operator does not exist: character varying = uuid

問題 以下のクエリを実行時に掲題のエラーが出る SELECT * FROM logs WHERE job_id IN (SELECT DISTINCT id FROM jobs WHERE jobs.active = true) ; ERROR: operator does not exist: character varying = uuid LINE 1: SELECT * FROM logs WHERE job_id IN …

【Go言語】sql driverの違いによるCHARとVARCHARの挙動の違い【特にpostgresのlib/pq】

Go言語からSQLを使うときは Go言語からSQL(or SQL-like)データベースを使うときは、Go言語標準のsql - The Go Programming Languageが定めるinterfaceを実装したdriverを実際は使っています. たとえばdriverはここに列挙されてたりします. SQLDrivers - go-w…

PostgreSQLとMySQLのコマンドライン対応表置き場

見つけた。ここだ MySQL and Postgres command equivalents (mysql vs psql) | End Point Blog MySQL PostgreSQL memo msyql {dbname} psql -d {dbname} シェルから入るとき SHOW DATABASES \l USE {dbname} \c {dbname} SHOW TABLES \d SHOW CREATE TABLE {…