# Slink notes
```elixir
Mix.install([
{:kino_db, "~> 0.3.0"},
{:postgrex, ">= 0.0.0"}
])
```
## Knonw bugs
* unspport non chrome-extension://xxxx like non-http links in code
## DB Explore
<!-- livebook:{"attrs":"eyJjYWNlcnRmaWxlIjoiIiwiZGF0YWJhc2UiOiJzbGlua19kZXYiLCJob3N0bmFtZSI6ImxvY2FsaG9zdCIsInBhc3N3b3JkIjoicG9zdGdyZXMiLCJwb3J0Ijo1NDMyLCJ0eXBlIjoicG9zdGdyZXMiLCJ1c2VfaXB2NiI6dHJ1ZSwidXNlX3NzbCI6ZmFsc2UsInVzZXJuYW1lIjoicG9zdGdyZXMiLCJ2YXJpYWJsZSI6ImNvbm4ifQ","chunks":null,"kind":"Elixir.KinoDB.ConnectionCell","livebook_object":"smart_cell"} -->
```elixir
opts = [
hostname: "localhost",
port: 5432,
username: "postgres",
password: "postgres",
database: "slink_dev",
socket_options: [:inet6]
]
{:ok, conn} = Kino.start_child({Postgrex, opts})
```
<!-- livebook:{"attrs":"eyJjYWNoZV9xdWVyeSI6dHJ1ZSwiY29ubmVjdGlvbiI6eyJ0eXBlIjoicG9zdGdyZXMiLCJ2YXJpYWJsZSI6ImNvbm4ifSwiZGF0YV9mcmFtZV9hbGlhcyI6IkVsaXhpci5FeHBsb3Jlci5EYXRhRnJhbWUiLCJxdWVyeSI6InNlbGVjdCAqIGZyb20gbGlua3Mgb3JkZXIgYnkgaWQgZGVzYyBsaW1pdCAxMCIsInJlc3VsdF92YXJpYWJsZSI6ImxpbmtzIiwidGltZW91dCI6bnVsbH0","chunks":null,"kind":"Elixir.KinoDB.SQLCell","livebook_object":"smart_cell"} -->
```elixir
links = Postgrex.query!(conn, ~S"select * from links order by id desc limit 10", [])
```
<!-- livebook:{"attrs":"eyJjYWNoZV9xdWVyeSI6dHJ1ZSwiY29ubmVjdGlvbiI6eyJ0eXBlIjoicG9zdGdyZXMiLCJ2YXJpYWJsZSI6ImNvbm4ifSwiZGF0YV9mcmFtZV9hbGlhcyI6IkVsaXhpci5FeHBsb3Jlci5EYXRhRnJhbWUiLCJxdWVyeSI6InNlbGVjdCAqIGZyb20gdXNlcnMgbGltaXQgMTAwIiwicmVzdWx0X3ZhcmlhYmxlIjoidXNlcnMiLCJ0aW1lb3V0IjpudWxsfQ","chunks":null,"kind":"Elixir.KinoDB.SQLCell","livebook_object":"smart_cell"} -->
```elixir
users = Postgrex.query!(conn, ~S"select * from users limit 100", [])
```
## Test accounts
ref test/support/fixtures.ex
* a1@b.c / 123456123456
* adm1@b.c / same above